99国产精品欲av蜜臀,可以直接免费观看的AV网站,gogogo高清免费完整版,啊灬啊灬啊灬免费毛片

網(wǎng)易首頁(yè) > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

公司Rust團(tuán)隊(duì)全員被裁,只因把服務(wù)寫得「太穩(wěn)定」:“項(xiàng)目0故障、0報(bào)警,那養(yǎng)著3個(gè)Rust工程師沒用啊”

0
分享至

  

  編譯 | 鄭麗媛

  出品 | CSDN(ID:CSDNnews)

  還記得不久前的那篇嗎?

  當(dāng)時(shí),許多讀者留言稱這故事“離譜”得像是由 AI 杜撰的,其中就包括了本文的主人公——一位 Reddit ID 名為Drogus 的開發(fā)者:“一篇用 AI 生成的帖子”、“明顯是假的”。

  話雖如此,Drogus卻不由得聯(lián)想到了一段他自己的真實(shí)經(jīng)歷,與其中某些情節(jié)有幾分相似:“Rust 項(xiàng)目做得太成功,反而導(dǎo)致這門語(yǔ)言在公司內(nèi)部被判了死刑”。

  

  

  項(xiàng)目背景:一個(gè)快速成長(zhǎng)的獨(dú)角獸初創(chuàng)公司

  這件事發(fā)生在幾年前。那時(shí),Drogus剛加入了一家在疫情期間快速成長(zhǎng)的獨(dú)角獸初創(chuàng)公司,其主力應(yīng)用采用 Ruby on Rails 編寫,一些視頻處理相關(guān)工具則用 Node.js 實(shí)現(xiàn)。當(dāng)時(shí),這家公司并沒有使用如 Rust 或 Go 這樣高性能的編譯型語(yǔ)言。

  Drogus入職幾個(gè)月后,公司便計(jì)劃開發(fā)一個(gè)實(shí)時(shí)服務(wù),用于顯示用戶的在線狀態(tài)(比如:頭像旁的綠點(diǎn)),以及用戶當(dāng)前的操作行為(例如:有 N 個(gè)用戶正在看演示 X,有 M 個(gè)用戶在某個(gè)市場(chǎng)展臺(tái)內(nèi)等)。

  這個(gè)功能本身并不復(fù)雜,只是考慮到用戶增長(zhǎng)預(yù)期,初期就需要支撐起 10 萬并發(fā)用戶。雖然這個(gè)規(guī)模在技術(shù)上也不算特別困難,但團(tuán)隊(duì)中的大多數(shù)人都認(rèn)為 Ruby顯然不適合實(shí)現(xiàn)這樣的系統(tǒng)

  

  技術(shù)選型與基準(zhǔn)測(cè)試:Rust 脫穎而出

  起初,負(fù)責(zé)該項(xiàng)目的團(tuán)隊(duì)傾向用 Rust,不過管理層對(duì)此有疑慮,便要求用不同的語(yǔ)言寫幾個(gè)原型服務(wù)做個(gè)對(duì)比測(cè)試。

  于是,團(tuán)隊(duì)決定用 Elixir、Rust、Ruby 和 Node.js 分別寫一個(gè)原型——不知為何,當(dāng)時(shí)Go 沒有列入候選,Drogus猜測(cè)可能是因?yàn)槟菚r(shí)他在休假所以沒人提。

  幾天后,四個(gè)原型都寫完了,他們開始對(duì)其進(jìn)行性能測(cè)試。而測(cè)試結(jié)果屬于是意料之中:

  Rust 版本速度最快、內(nèi)存占用最低

  Elixir 次之;

  Node.js 表現(xiàn)還可以,但受限于單線程運(yùn)行時(shí);

  Ruby 最慢。

  值得注意的是,Rust 版本最初存在也一個(gè)小 bug:開發(fā)者用 async futures 給客戶端發(fā)消息時(shí),會(huì)遍歷所有客戶端來獲取發(fā)送通道列表,這在高負(fù)載下會(huì)阻塞運(yùn)行時(shí)幾秒。不過這個(gè)問題屬于實(shí)現(xiàn)細(xì)節(jié),對(duì)熟悉 Rust 的人來說并不難修復(fù)。

  但由于寫這個(gè) Rust 原型的人是第一次寫 Rust,經(jīng)驗(yàn)不足,而其他語(yǔ)言的原型都是由有經(jīng)驗(yàn)的開發(fā)者完成的——所以,即使有些小bug,也不是不能理解

  

  從原型到正式上線,Rust 表現(xiàn)亮眼

  測(cè)試完成后,團(tuán)隊(duì)成員討論了各種語(yǔ)言的性能表現(xiàn)、易用性、在公司內(nèi)部的適配性等等,最終再次選擇了 Rust。很有意思的一點(diǎn)是,寫 Rust 原型的那位開發(fā)者原本更偏好 Elixir(因?yàn)樗眠^),但實(shí)際寫完后,他投票支持了 Rust。

  原因很簡(jiǎn)單:Rust 太靈活了。

  基于評(píng)估結(jié)果和團(tuán)隊(duì)判斷,公司最終決定由 Rust 實(shí)現(xiàn)該實(shí)時(shí)服務(wù)。而出于項(xiàng)目進(jìn)度考慮,原本應(yīng)由獨(dú)立團(tuán)隊(duì)開發(fā)的任務(wù),轉(zhuǎn)交給了有 Rust經(jīng)驗(yàn)的Drogus,并由他與 Rust 原型作者合作開發(fā)。

  為了趕進(jìn)度,Drogus決定采用一個(gè)類似于數(shù)據(jù)庫(kù)的極簡(jiǎn)設(shè)計(jì)。在 Rust 中處理 10 萬個(gè)連接不算難事,MVP(最小可行產(chǎn)品)階段也只需要實(shí)現(xiàn)基礎(chǔ)功能:查詢某個(gè)用戶是否在線、用戶在應(yīng)用的哪個(gè)區(qū)域;斷開連接就視為離線;服務(wù)崩了就重啟并讓客戶端重連。

  他們把所有實(shí)時(shí)數(shù)據(jù)都存儲(chǔ)在內(nèi)存哈希表中,然后通過 Kafka 推送事件供后續(xù)分析處理——正如Drogus所說:整體來說,這個(gè)服務(wù)本質(zhì)上就是一個(gè)基于 WebSocket、封裝了內(nèi)存哈希表的 API。

  只用了兩周時(shí)間,他們就完成了 MVP 版本,再花兩周部署上線,架設(shè)了兩臺(tái)服務(wù)器做主備切換。

  上線后,服務(wù)穩(wěn)定運(yùn)行,支撐起 10 萬并發(fā)用戶無壓力。隨后一個(gè)月,團(tuán)隊(duì)又陸續(xù)添加了更多功能,仍然沒有出過任何故障

  

  Rust 項(xiàng)目的成功,埋下“危機(jī)”種子

  然而,隨著公司戰(zhàn)略的調(diào)整,實(shí)時(shí)相關(guān)功能被暫時(shí)擱置,該服務(wù)也轉(zhuǎn)入維護(hù)模式。原本為這個(gè)Rust 項(xiàng)目臨時(shí)組建的開發(fā)團(tuán)隊(duì)解散,包括Drogus在內(nèi)的工程師們回到原崗位——而這個(gè) Rust 服務(wù)則靜靜運(yùn)行在后臺(tái),無故障、無宕機(jī),堪稱基礎(chǔ)設(shè)施團(tuán)隊(duì)的“夢(mèng)中情服”

  直到幾個(gè)月后,公司籌備一場(chǎng)大型活動(dòng),預(yù)計(jì)將有 50 萬并發(fā)用戶。但當(dāng)時(shí)Drogus和另一位原型作者已經(jīng)忙于其他項(xiàng)目,管理層就決定招聘 3 名 Rust 工程師來提升這個(gè)服務(wù)的性能。

  不得不說,這些新來的Rust開發(fā)者確實(shí)經(jīng)驗(yàn)豐富,很快就發(fā)現(xiàn)性能瓶頸其實(shí)在系統(tǒng)配置層面。稍微調(diào)整了內(nèi)核參數(shù)、負(fù)載均衡設(shè)置后,這個(gè)服務(wù)便可支撐:

  ●100 萬并發(fā)(p99 延遲僅 10ms)

  ●200 萬并發(fā)(p99 延遲約 25ms)

  優(yōu)化成果令人驚嘆,但也帶來了問題:這個(gè)服務(wù)太穩(wěn)定了,導(dǎo)致 3 名 Rust 工程師無事可做。

  

  新管理層上任,Rust 被全面封禁

  原本,招聘 Rust 團(tuán)隊(duì)的那位高層是希望在公司內(nèi)部推廣 Rust 的。

  然而,隨著公司從 30 人擴(kuò)張到 1000 人、組織架構(gòu)也變動(dòng)頻繁,那位支持推廣Rust 的高層選擇離職,新上任的主管則對(duì)該 Rust 服務(wù)的態(tài)度完全不同。

  而他最大的不滿竟然是:“這個(gè)服務(wù)沒啥事做了,養(yǎng)著那 3 個(gè) Rust 工程師沒用啊。

  不僅如此,這位新主管也根本不采納Drogus等工程師提出想在公司內(nèi)繼續(xù)推廣Rust、將其用于事件處理、實(shí)時(shí)通知等需求的建議,而是轉(zhuǎn)頭強(qiáng)硬地通知那 3 位 Rust 工程師:“要么學(xué) Ruby 或 Node.js,要么你們另謀高就。

  結(jié)果,這 3 位Rust開發(fā)者全部離職。Drogus 對(duì)此惋惜不已:“可惜,真的太可惜了。”

  某種程度上,Drogus 也能理解管理層擔(dān)心 Rust 相對(duì)小眾、人才難招等問題。但他也指出,公司放棄了一個(gè)原本可以深入推廣 Rust 的寶貴時(shí)機(jī):不僅已有成熟服務(wù)和三位經(jīng)驗(yàn)豐富的Rust 工程師,還有多個(gè)實(shí)際業(yè)務(wù)場(chǎng)景亟需高性能組件。

  在Drogus 看來,整件事最諷刺的地方莫過于:如果這個(gè) Rust 服務(wù)沒那么成功,反而可能會(huì)保住這個(gè)團(tuán)隊(duì)。如果他們需要花幾個(gè)月去優(yōu)化性能,和公司里其他服務(wù)一樣“正常拖延”,管理層大概也就不會(huì)這么關(guān)注了。

  換句話說——正因?yàn)檫@個(gè) Rust 服務(wù)“太成功”,沒有維護(hù)成本,才被公司高層視為“冗員項(xiàng)目”;如果它性能差,需要持續(xù)地調(diào)優(yōu)維護(hù),反而更能“證明團(tuán)隊(duì)價(jià)值”?

  

  更荒唐的后續(xù):Rust 服務(wù)被強(qiáng)行用 Node.js 重寫

  最終,管理層決定將該 Rust 服務(wù)重寫為 Node.js 版本,以便公司現(xiàn)有團(tuán)隊(duì)維護(hù)。

  然而,第一次重寫嘗試失敗了。

  “坦白說,我知道用 Node.js 實(shí)現(xiàn)這類服務(wù)是可行的——但前提是你要重構(gòu)架構(gòu)。”Drogus解釋道,Node.js受限于單線程運(yùn)行時(shí)本就不適合高并發(fā),想要靠它支撐百萬連接,就不能再像 Rust 那樣用單進(jìn)程單服務(wù)器搞定,而是要搞多進(jìn)程、多節(jié)點(diǎn)、隊(duì)列或數(shù)據(jù)庫(kù)做中轉(zhuǎn)。

  據(jù)說,當(dāng)時(shí)負(fù)責(zé)用Node.js重寫的那位開發(fā)者選用了一個(gè)第三方平臺(tái) Ably 來托管 WebSocket 連接,以避免自行處理復(fù)雜邏輯。但兩個(gè)月后大家發(fā)現(xiàn),這個(gè)方案的性能遠(yuǎn)遠(yuǎn)不達(dá)標(biāo)。

  也就是說,雖然Node.js不是做不到,但遠(yuǎn)比用 Rust 實(shí)現(xiàn)要復(fù)雜得多。

  最后關(guān)于這個(gè)Rust 服務(wù)的近況,Drogus 只遺憾表示:“它現(xiàn)在仍在運(yùn)行著——只在需要擴(kuò)展時(shí)才會(huì)被提起,但由于沒有維護(hù)團(tuán)隊(duì),所有的擴(kuò)展需求最終都會(huì)被放棄或改用次優(yōu)方案替代。

  

  引起開發(fā)者熱議:所有公司都會(huì)這樣

  Drogus的帖子發(fā)布后,同樣引起了許多開發(fā)者的關(guān)注和討論,其中有不少人也分享了類似的經(jīng)歷:

  “我曾經(jīng)把一個(gè)服務(wù)從 PHP 改寫成 Rust,也遇到了類似的問題。這個(gè)服務(wù)從不需要維護(hù),也沒有開發(fā)人員需要對(duì)其進(jìn)行維護(hù)。于是,作為公司中唯一的 Rust 服務(wù),它自己就成了一個(gè)問題——但我們又能做什么呢?畢竟悄無聲息的成功很難向管理層解釋明白。

  另外,也有部分開發(fā)者指出,這種事情幾乎在所有公司都會(huì)發(fā)生:

  “這不過是司空見慣的事:企業(yè)不斷發(fā)展,新的管理者上任,他們做出“明智的管理決策”,卻破壞了企業(yè)的創(chuàng)新能力,于是你所看到的唯一創(chuàng)新要么是給已有的產(chǎn)品貼上新標(biāo)簽,要么就是買來的現(xiàn)成產(chǎn)品……所有公司都會(huì)經(jīng)歷這樣的過程,只不過這家公司比谷歌、IBM 或微軟走得更快而已。”

  “我不會(huì)把這家公司 Rust 使用量的下降歸咎于其成功。這顯然(如文中所述)是個(gè)別高層未能看到其益處或機(jī)會(huì)所致。誰(shuí)知道實(shí)際情況到底怎樣呢,有時(shí)事情在現(xiàn)實(shí)中并不像從個(gè)人視角分享的那樣清晰。不過我覺得這件事倒是可信的,確實(shí)很多決策者往往對(duì)不理解的技術(shù)產(chǎn)生抵觸情緒,尤其是那些不像「AI」這樣時(shí)髦的新技術(shù)。”

  那么,你是否也經(jīng)歷過類似事情,對(duì)于這件事又有什么看法呢?

  原文鏈接:https://www.reddit.com/r/rust/comments/1kp74t2/rust_success_story_that_killed_rust_usage_in_a/

  2025 全球產(chǎn)品經(jīng)理大會(huì)

  2025 年 8 月 15–16 日

  北京·威斯汀酒店

  2025 全球產(chǎn)品經(jīng)理大會(huì)將匯聚互聯(lián)網(wǎng)大廠、AI 創(chuàng)業(yè)公司、ToB/ToC 實(shí)戰(zhàn)一線的產(chǎn)品人,圍繞產(chǎn)品設(shè)計(jì)、用戶體驗(yàn)、增長(zhǎng)運(yùn)營(yíng)、智能落地等核心議題,展開 12 大專題分享,洞察趨勢(shì)、拆解路徑、對(duì)話未來。

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
東決出局!立刻內(nèi)訌!全隊(duì)欺負(fù)一個(gè)老實(shí)人

東決出局!立刻內(nèi)訌!全隊(duì)欺負(fù)一個(gè)老實(shí)人

籃球教學(xué)論壇
2025-06-02 13:03:03
俄證實(shí)多個(gè)機(jī)場(chǎng)遭恐怖襲擊

俄證實(shí)多個(gè)機(jī)場(chǎng)遭恐怖襲擊

財(cái)聯(lián)社
2025-06-02 08:45:19
日系陣營(yíng)的“叛徒”:馬自達(dá)用最笨的辦法,打了誰(shuí)的臉?

日系陣營(yíng)的“叛徒”:馬自達(dá)用最笨的辦法,打了誰(shuí)的臉?

四象八卦
2025-06-02 09:06:55
入選U22!17歲布尼亞明:經(jīng)常研究三笘薰過人視頻 很想去歐洲看看

入選U22!17歲布尼亞明:經(jīng)常研究三笘薰過人視頻 很想去歐洲看看

直播吧
2025-06-02 11:33:42
斷崖式分手無法釋懷!男主游戲主播月入5w,女孩哭訴他性價(jià)比太高

斷崖式分手無法釋懷!男主游戲主播月入5w,女孩哭訴他性價(jià)比太高

火山詩(shī)話
2025-05-31 14:49:52
你只管制裁,我繼續(xù)拋售!“中國(guó)將買入美債”?美國(guó)幻想破滅了

你只管制裁,我繼續(xù)拋售!“中國(guó)將買入美債”?美國(guó)幻想破滅了

獵火照狼山
2025-06-01 21:25:42
1-2!法網(wǎng)最大誕生,4號(hào)種子慘遭淘汰,鄭欽文雙喜臨門,冠軍有戲

1-2!法網(wǎng)最大誕生,4號(hào)種子慘遭淘汰,鄭欽文雙喜臨門,冠軍有戲

體育就你秀
2025-06-01 20:23:25
納賽爾賽后連線弟媳:非常想你隊(duì)長(zhǎng),這座歐冠也是獻(xiàn)給你的

納賽爾賽后連線弟媳:非常想你隊(duì)長(zhǎng),這座歐冠也是獻(xiàn)給你的

直播吧
2025-06-02 01:37:38
舊金山學(xué)區(qū)華裔總監(jiān)宣布:將21分定為及格線,“不及格學(xué)生”人數(shù)大幅下降

舊金山學(xué)區(qū)華裔總監(jiān)宣布:將21分定為及格線,“不及格學(xué)生”人數(shù)大幅下降

大洛杉磯LA
2025-06-02 06:35:20
森林狼要拆隊(duì)了?勇士成里德頭號(hào)熱門下家 蘭德爾最被看好去活塞

森林狼要拆隊(duì)了?勇士成里德頭號(hào)熱門下家 蘭德爾最被看好去活塞

羅說NBA
2025-06-02 09:40:44
公安部的禁酒令及宴請(qǐng)規(guī)定:公職人員下班聚餐和飲酒也算違規(guī)?

公安部的禁酒令及宴請(qǐng)規(guī)定:公職人員下班聚餐和飲酒也算違規(guī)?

二月侃事
2025-05-28 08:18:10
澤連斯基參加基輔書展,站在3層防彈保鏢中,激勵(lì)民眾去刺殺暴君

澤連斯基參加基輔書展,站在3層防彈保鏢中,激勵(lì)民眾去刺殺暴君

碳基生物關(guān)懷組織
2025-05-31 19:15:08
CBA又迎來一大喜訊!張鎮(zhèn)麟勁敵大婚:迎娶美女車模讓人羨慕?

CBA又迎來一大喜訊!張鎮(zhèn)麟勁敵大婚:迎娶美女車模讓人羨慕?

籃球快餐車
2025-06-02 03:36:24
曼聯(lián)亞洲行風(fēng)波!貝克漢姆:我們那支曼聯(lián)很注重禮節(jié) 都尊重球迷

曼聯(lián)亞洲行風(fēng)波!貝克漢姆:我們那支曼聯(lián)很注重禮節(jié) 都尊重球迷

直播吧
2025-06-01 16:28:46
湖南一領(lǐng)導(dǎo)跳樓:連夜修改重要文件,家中搜出3個(gè)箱子,妻子發(fā)聲

湖南一領(lǐng)導(dǎo)跳樓:連夜修改重要文件,家中搜出3個(gè)箱子,妻子發(fā)聲

博士觀察
2025-06-01 13:10:00
“人若愚蠢,一看便知”:愚蠢的人,多半會(huì)有這三個(gè)特點(diǎn)

“人若愚蠢,一看便知”:愚蠢的人,多半會(huì)有這三個(gè)特點(diǎn)

有故事的人
2025-05-17 06:41:07
“長(zhǎng)餐桌”已經(jīng)過時(shí)了!學(xué)學(xué)廣東人這樣做,鄰居們都羨慕不已

“長(zhǎng)餐桌”已經(jīng)過時(shí)了!學(xué)學(xué)廣東人這樣做,鄰居們都羨慕不已

巢客HOME
2025-06-02 09:55:03
殲10C并不是首選,5年前,巴基斯坦空軍曾被一款中國(guó)戰(zhàn)機(jī)徹底打服

殲10C并不是首選,5年前,巴基斯坦空軍曾被一款中國(guó)戰(zhàn)機(jī)徹底打服

利刃號(hào)
2025-06-01 06:39:07
只為兒子活下去,他健身6年,從頹廢胖子到頂流肌肉型爸!

只為兒子活下去,他健身6年,從頹廢胖子到頂流肌肉型爸!

健身S叔
2025-06-01 11:52:48
法國(guó)成笑話!馬克龍?jiān)谛录悠隆叭枞A”:今天俄羅斯就是明日的中國(guó)

法國(guó)成笑話!馬克龍?jiān)谛录悠隆叭枞A”:今天俄羅斯就是明日的中國(guó)

青青子衿
2025-06-01 18:02:26
2025-06-02 14:40:49
CSDN incentive-icons
CSDN
成就一億技術(shù)人
25596文章數(shù) 242067關(guān)注度
往期回顧 全部

科技要聞

新造車5月再洗牌:?jiǎn)柦缁厍叭∶资氐谖?/h3>

頭條要聞

牛彈琴:烏最大膽無人機(jī)攻擊 預(yù)示著人類一個(gè)可怕未來

頭條要聞

牛彈琴:烏最大膽無人機(jī)攻擊 預(yù)示著人類一個(gè)可怕未來

體育要聞

傲了一輩子的恩里克,心中永遠(yuǎn)住著一個(gè)小天使

娛樂要聞

章子怡深夜曬娃,兒女正面照曝光

財(cái)經(jīng)要聞

美稱中方違反經(jīng)貿(mào)會(huì)談共識(shí) 商務(wù)部駁斥

汽車要聞

吉利汽車5月銷量23.52萬輛 同比增長(zhǎng)46%

態(tài)度原創(chuàng)

房產(chǎn)
游戲
數(shù)碼
手機(jī)
藝術(shù)

房產(chǎn)要聞

金地華南落子海南自貿(mào)港22萬㎡標(biāo)桿項(xiàng)目,夯實(shí)代建行業(yè)領(lǐng)軍者地位

鷹角多人合作新游發(fā)售!早鳥價(jià)60元 支持本地同屏

數(shù)碼要聞

機(jī)械革命筆記本新模具曝光,提供藍(lán)白撞色設(shè)計(jì)

手機(jī)要聞

2025 年 WWDC 規(guī)模可能比前兩屆更小

藝術(shù)要聞

故宮珍藏的墨跡《十七帖》,比拓本更精良,這才是地道的魏晉寫法

無障礙瀏覽 進(jìn)入關(guān)懷版 主站蜘蛛池模板: 上虞市| 区。| 浦北县| 延安市| 安顺市| 台江县| 上高县| 江山市| 汉川市| 梓潼县| 东兴市| 丽江市| 永德县| 南安市| 侯马市| 屏东县| 得荣县| 公安县| 双鸭山市| 山丹县| 秭归县| 宁德市| 阿鲁科尔沁旗| 上饶县| 武强县| 遂宁市| 龙岩市| 剑河县| 垣曲县| 墨竹工卡县| 邵阳县| 巴林右旗| 康马县| 涡阳县| 子长县| 昌图县| 临颍县| 三都| 龙南县| 工布江达县| 扎赉特旗|