亞洲資本網(wǎng) > 資訊 > 熱點(diǎn) > 正文
焦點(diǎn)日報(bào):馬斯克被Twitter脆弱的代碼“逼瘋”,要求全部重寫!網(wǎng)友:重構(gòu)是空降領(lǐng)導(dǎo)了解當(dāng)前系統(tǒng)最快的方式?
2023-03-09 13:46:20來源: InfoQ

作者|褚杏娟、核子可樂

“從始至終,我們一直都笑呵呵的?!?


(相關(guān)資料圖)

當(dāng)?shù)貢r(shí)間周一上午,Twitter 網(wǎng)站又出了新故障。

有 Twitter 用戶在登錄之后發(fā)現(xiàn)了一大堆相互關(guān)聯(lián)的問題。首先是單擊鏈接無法跳轉(zhuǎn),反而彈出了一條神秘的錯(cuò)誤消息,稱“您當(dāng)前的 API 計(jì)劃不包括對此端點(diǎn)的訪問權(quán)限”。

“我猜這意味著 Twitter 非常需要現(xiàn)金,它開始收取 Twitter API 訪問權(quán)限費(fèi)用,但 Twitter 自己無法支付這筆費(fèi)用?!逼樟炙诡D計(jì)算機(jī)科學(xué)教授 Arvind Narayanan 發(fā)布推文略帶調(diào)侃地評論道。

Narayanan 還寫道:“雪上加霜的是,每個(gè)人都在發(fā)布錯(cuò)誤消息的屏幕截圖,但圖像也被破壞了?!笔堑模琓witter 上的圖片之后也無法正常加載了。此外,還有用戶報(bào)告稱無法訪問 Twitter 推出的專業(yè)用戶客戶端 TweetDeck。

“Twitter 破爛到可以拿來開玩笑,但功能足夠強(qiáng)大,我們 可以 在 twitter 上

拿它開玩笑,這是硬核軟件的柏拉圖式理想,”技術(shù)分析師 Benedict Evans 在這個(gè)不穩(wěn)定的社交媒體網(wǎng)站上打趣道。

隨著圖片加載功能的失靈,Twitter 開始陷入一片混亂,無數(shù)用戶奔走相告關(guān)于這次故障的消息。有網(wǎng)友指出是“對 Twitter API 的傳入和傳出訪問被破壞了”,推文底下有網(wǎng)友抱著“看熱鬧不嫌事大”的心態(tài)稱:“這個(gè)應(yīng)用程序壞了會更有趣”。

在一條推文中,該公司做了一番相當(dāng)模糊的解釋:Twitter 的某些部分現(xiàn)在可能無法按預(yù)期工作。我們開展了內(nèi)部調(diào)整,但產(chǎn)生了一些意想不到的后果。問題隨后得到確認(rèn),引發(fā)故障的原因是變更 Twitter API 免費(fèi)訪問關(guān)閉計(jì)劃導(dǎo)致的。

2 月 1 日,該公司宣布將不再支持免費(fèi)訪問其 API,這實(shí)際上終結(jié)了第三方客戶端的存在基礎(chǔ),也極大限制了外部研究人員研究 Twitter 網(wǎng)絡(luò)的能力。該公司一直在構(gòu)建新的付費(fèi) API 以供外部開發(fā)者使用。

值得注意的是,Twitter 于 2014 年針對第三方應(yīng)用開發(fā)商封殺了有關(guān)用戶數(shù)據(jù)的開發(fā)接口,之后嚴(yán)格限制用于登錄的令牌,開發(fā)人員必須向 Twitter 付費(fèi)才能使用其 API。后來,Twitter 創(chuàng)始人 Jack 表示,這是“我們做過的最糟糕的事情”,并辯解說他“當(dāng)時(shí)沒有在經(jīng)營公司”,還表示“公司一直在努力將其重新完全開放?!?/p>

1一人維護(hù),關(guān)閉了自己的內(nèi)部訪問

據(jù)悉,馬斯克的大幅裁員計(jì)劃令 Twitter 的工程師數(shù)量銳減,最終導(dǎo)致只有一人參與到涉及平臺 API 的重大項(xiàng)目當(dāng)中。

據(jù)一位現(xiàn)任員工稱,周一這個(gè)唯一的現(xiàn)場可靠性工程師執(zhí)行了一次“錯(cuò)誤的配置變更,基本上破壞了 Twitter API 的正常運(yùn)作?!贝俗兏€在公司內(nèi)部引發(fā)了連鎖反應(yīng),導(dǎo)致 Twitter 多款內(nèi)部工具和面向公眾 API 全部癱瘓。工程師們一邊手忙腳亂地解決問題,一邊在 Slack 上呼喊著“完了”、“Twitter 整個(gè)宕機(jī)了”。

據(jù)說馬斯克在得知情況后非常憤怒。

當(dāng)天晚些時(shí)候,馬斯克發(fā)推文說,“API 的一個(gè)小改動(dòng)會產(chǎn)生巨大的影響。代碼堆棧已經(jīng)極度脆弱,最終需要完全重寫?!痹诖酥?,Twitter 投資人 Marc Andreessen 也曾發(fā)布了一張截圖,顯示該公司的 API 故障正在網(wǎng)站上蔓延。

“馬斯克的解釋似乎偏離了真正的原因??雌饋眈R斯克只是不了解 Twitter 的技術(shù)堆棧中的依賴關(guān)系,并且在試圖切斷對免費(fèi)外部用戶的訪問時(shí),無意中下令關(guān)閉了 Twitter 對它們自己的 API 內(nèi)部訪問?!睂谧髡?Ahmed Bab 評論道。

馬斯克接管 Twitter 時(shí),曾承諾會大幅提高網(wǎng)站運(yùn)行速度和穩(wěn)定性。他的同事對員工的技術(shù)水平進(jìn)行了篩選,最終裁掉了幾千名“能力”不足以在馬斯克治下取得成功的員工。

2內(nèi)部員工已見怪不怪

但不間斷裁員,導(dǎo)致 Twitter 公司現(xiàn)在只剩不足 550 名全職工程師,有媒體統(tǒng)計(jì)馬斯克已經(jīng)裁掉了約 80% 的員工。如今事態(tài)也符合前員工們當(dāng)初的預(yù)想,人員流失導(dǎo)致 Twitter 越來越頻繁地曝出災(zāi)難性宕機(jī)事件。

本周一的錯(cuò)誤配置變更,已經(jīng)是 Twitter 今年以來第六次造成廣泛影響的服務(wù)宕機(jī):

·1 月 23 日,Androiod 用戶暫時(shí)無法加載或發(fā)布新推文。

·2 月 8 日,一條錯(cuò)誤消息提醒用戶“您已超過每日推文發(fā)送上限”,導(dǎo)致其無法正常發(fā)帖。

·2 月 15 日,推文無法加載。

·2 月 18 日,推文時(shí)間線中斷,回復(fù)消失。

·3 月 1 日,時(shí)間線無法正常工作。

以上提到的還只是服務(wù)宕機(jī)。此外,馬斯克的推文在時(shí)間線上比其他用戶更顯眼等問題,也擾亂了用戶的正常體驗(yàn)。

一名現(xiàn)任員工稱,“這類中斷事故已經(jīng)越來越頻繁,我甚至感覺大家開始變得麻木了。”據(jù)悉 Twitter 總部內(nèi)的氣氛很是“輕松融洽”。有一位員工表示,“從始至終,我們一直都笑呵呵的。”

由于 Twitter 已經(jīng)沒有多少經(jīng)驗(yàn)豐富的員工能夠恢復(fù)服務(wù),Twitter 花了一上午才解決掉這個(gè)問題?!鞍褑T工裁掉 90%,就必然是這樣的結(jié)果?!?/p>

從種種方面來看,本周一的宕機(jī)事故代表著馬斯克對 Twitter 公司的影響已經(jīng)達(dá)到頂峰。為了一心一意賺回 440 億美元的收購成本,馬斯克一直在裁員并縮減 Twitter 提供的免費(fèi)服務(wù)。

一名工程師被迫需要獨(dú)力負(fù)責(zé)一個(gè)重大項(xiàng)目,最終導(dǎo)致這個(gè)同時(shí)為用戶和員工服務(wù)、與多個(gè)關(guān)鍵系統(tǒng)相互關(guān)聯(lián)的項(xiàng)目突然“爆雷”。

3技術(shù)債也要背鍋?

不過也有部分現(xiàn)任員工認(rèn)為,Twitter 目前的很多技術(shù)隱患早在馬斯克接手之前就已經(jīng)存在。當(dāng)初的 Twitter 之所以被戲稱作“失敗的鯨魚”,并不無道理。

有位現(xiàn)任員工提到,“Twitter 1.0 帶來了太多的技術(shù)債務(wù)。如果現(xiàn)在做出變更,那么一切都會崩潰?!?/p>

比如,Twitter 在早期開發(fā)時(shí),MVP 選用了 Rails??焖俚拈_發(fā)能力帶來了快速的產(chǎn)品驗(yàn)證,然而 Rails 的低效使得 Twitter 很快在技術(shù)上觸及了天花板:2007 年左右,Twitter 動(dòng)不動(dòng)就掛,甚至一度掛了三天。后來,新的技術(shù)主管上任后大刀闊斧地做了債務(wù)重組,摒棄 Rails,擁抱 Java 生態(tài)圈,用 scala 重寫很多核心服務(wù),終于把服務(wù)穩(wěn)定下來。

2011 年時(shí),Twitter 還遇到了站點(diǎn)穩(wěn)定性問題,當(dāng)時(shí)使用 HTTP 協(xié)議的 Twitter API 時(shí),如果調(diào)用 statuses 或者 home_timeline 的 OAuth 方法將會產(chǎn)生一些問題。

不過,如今掌舵推特的馬斯克是否真正關(guān)心 Twitter 的技術(shù)債還不得而知。

此前,馬斯克在推特上表示,“對于 Twitter 在許多國家 / 地區(qū)的超慢速度,我深表歉意。應(yīng)用正在執(zhí)行超過 1000 個(gè)批處理不當(dāng)?shù)?RPC,只是為了渲染一個(gè)主頁時(shí)間軸!”

隨后,當(dāng)時(shí)還在 Twitter 的工程師 Eric Fronhoefer 公開指出馬斯克的錯(cuò)誤,給出的原因中也包括多年的技術(shù)債讓 Twitter 用速度和功能換取性能,但他第二天就被解雇了。

不過有趣的是,F(xiàn)ronhoefer 當(dāng)時(shí)還指出,“我們可能應(yīng)該優(yōu)先考慮一些重大的重寫,以對抗 10 多年的技術(shù)債務(wù),并呼吁積極刪除功能?!?/p>

而如今,馬斯克也在推文中表示要完全重寫。對此,有網(wǎng)友表示:“領(lǐng)導(dǎo)層換了,重構(gòu)可能是了解當(dāng)前系統(tǒng)最快的方式?”

雖然這次 Twitter 設(shè)法在幾小時(shí)后就順利恢復(fù)了過來,但故障背后的故事似乎昭示著,后頭還有更多的麻煩在等著馬斯克。

參考鏈接

百度文心一言發(fā)布倒計(jì)時(shí)十天,我們和背后的工程化團(tuán)隊(duì)聊了聊

Meta版ChatGPT慘遭“開源”?最新大模型LLaMA被泄露,已在GitHub收獲7k+星

平臺工程不適合中國企業(yè)?這個(gè)觀點(diǎn)值得反駁!

科大訊飛回應(yīng)用“績效回溯”變相降薪;OpenAI逆天開放API,價(jià)格打骨折;推特裁員超70%,馬斯克給剩下員工“畫餅”?|Q資訊

活動(dòng)推薦

關(guān)鍵詞:

專題新聞
  • 日元大跌的真正原因是什么?日元匯率暴跌對誰有利?
  • 360和百度大戰(zhàn)起因是什么?為什么百度口碑不太好?
  • 360股東還有哪些?360是不是被國家收編了?
  • 美聯(lián)儲議息會議是什么?美聯(lián)儲加息是什么意思的息?
  • 網(wǎng)上報(bào)稅怎么申報(bào)?稅務(wù)0申報(bào)如何網(wǎng)上申報(bào)?
  • 玉米價(jià)格上漲的原因是什么?三月份玉米價(jià)格上漲還是下滑?
最近更新

京ICP備2021034106號-51

Copyright © 2011-2020  亞洲資本網(wǎng)   All Rights Reserved. 聯(lián)系網(wǎng)站:55 16 53 8 @qq.com