AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當前位置:首頁 > 科技  > 軟件

WhatsApp 僅用 32 名工程師就能支持每天 500 億條消息的八個原因

來源: 責編: 時間:2023-10-13 14:37:04 243觀看
導讀2008 年 1 月,美國加利福尼亞州。一位名為 Jan Koum 的雅虎工程師,在申請 Facebook 職位時被拒了。這當然不是故事的終點——他第二年入手了一部 iPhone,并立即認識到新 App Store 的巨大潛力。因此,他決定與雅虎的一些前

2008 年 1 月,美國加利福尼亞州。一位名為 Jan Koum 的雅虎工程師,在申請 Facebook 職位時被拒了。7fw28資訊網——每日最新資訊28at.com

這當然不是故事的終點——他第二年入手了一部 iPhone,并立即認識到新 App Store 的巨大潛力。因此,他決定與雅虎的一些前同事一起開發一款即時通訊工具,并將其命名為 WhatsApp,據稱這個名字是他在朋友家的廚房討論了幾個小時就確定的。WhatsApp 背后的愿景是取代昂貴的短信。7fw28資訊網——每日最新資訊28at.com

WhatsApp 每天有 100 萬人注冊,其增長速度簡直令人難以置信。但更為人難以想象的是:WhatsApp 每天需要支持來自 4.5 億日活躍用戶的500 億條消息,他們卻只用了32 名工程師就做到了。7fw28資訊網——每日最新資訊28at.com

盡管產品爆炸性增長是一個好現象,但 Jan Koum 和 WhatsApp 團隊必須采用最佳工程實踐來克服挑戰。7fw28資訊網——每日最新資訊28at.com

WhatsApp 滿足極端可擴展性的工程實踐的 8 點原則如下。7fw28資訊網——每日最新資訊28at.com

1、單一職責原則

他們只將產品的重點放在核心功能上——消息傳遞,并且沒有費心建立廣告網絡或社交媒體平臺。7fw28資訊網——每日最新資訊28at.com

單一責任原則單一責任原則7fw28資訊網——每日最新資訊28at.com

他們還不惜一切代價消除了功能蔓延。當你向產品添加過多的功能時,就會發生功能蠕變。并使其難以使用。此外,他們更注重 WhatsApp 的可靠性。7fw28資訊網——每日最新資訊28at.com

2、技術棧

他們使用 Erlang 構建 WhatsApp 服務器的核心功能。因為它:7fw28資訊網——每日最新資訊28at.com

  • 體積小,可擴展性高
  • 并且支持熱加載

線程是 Erlang 的原生特性。但在Java或C++中,線程屬于操作系統。所以Erlang中沒有必要保存整個CPU狀態。這使得上下文切換更便宜。7fw28資訊網——每日最新資訊28at.com

熱加載可以更輕松地部署代碼更改,而無需重新啟動服務器;或者流量重定向。簡而言之,熱加載提供了高可用性。7fw28資訊網——每日最新資訊28at.com

3、為什么要重新發明輪子?

不要重新發明輪子- 要么使用開源,要么購買商業解決方案。7fw28資訊網——每日最新資訊28at.com

不要重新發明輪子不要重新發明輪子7fw28資訊網——每日最新資訊28at.com

Ejabberd 是一個用 Erlang 編寫的開源實時消息服務器。7fw28資訊網——每日最新資訊28at.com

他們在 ejabberd 之上構建了 WhatsApp 。他們還重寫了一些 ejabberd 核心組件來滿足他們的需求。此外,WhatsApp 利用 Google Push 等第三方服務來提供推送通知。7fw28資訊網——每日最新資訊28at.com

4、跨領域的關注

他們非常重視跨領域的關注,以提高產品質量。橫切關注點是影響產品許多部分的事情。并且很難分開。例如,監視和警報服務的運行狀況。7fw28資訊網——每日最新資訊28at.com

跨領域關注點跨領域關注點7fw28資訊網——每日最新資訊28at.com

他們通過持續集成和持續交付改進了軟件開發流程;持續集成是將代碼更改定期合并到中央存儲庫的過程;持續交付是將代碼部署到測試或生產環境的過程。7fw28資訊網——每日最新資訊28at.com

5、可擴展性

WhatsApp使用對角縮放來降低成本和操作復雜性;水平擴展是增加資源池中機器數量的過程;垂直擴展是增加現有機器容量(例如 CPU 或內存)的過程;對角線縮放是水平和垂直縮放的混合。計算資源可以垂直和水平添加。7fw28資訊網——每日最新資訊28at.com

可擴展性可擴展性7fw28資訊網——每日最新資訊28at.com

他們在 FreeBSD 操作系統上運行 WhatsApp 服務器。因為他們之前在 Yahoo 工作時就有過使用 FreeBSD 的經驗。此外,FreeBSD 還提供了可靠的網絡堆棧。7fw28資訊網——每日最新資訊28at.com

他們還對 FreeBSD 進行了微調,以容納每臺服務器超過 200 萬個連接。并修改了文件、套接字等內核參數。7fw28資訊網——每日最新資訊28at.com

他們過度配置服務器來處理突發的流量峰值并為故障留出空間。例如,網絡分區或硬件故障等故障。7fw28資訊網——每日最新資訊28at.com

6、飛輪效應

他們測量了 CPU、上下文切換和系統調用等指標。然后找出并消除瓶頸。_ 他們定期這樣做。持續的反饋周期極大地提高了 WhatsApp 的性能。7fw28資訊網——每日最新資訊28at.com

持續反饋循環持續反饋循環7fw28資訊網——每日最新資訊28at.com

7、質量測試

WhatsApp 團隊使用負載測試來識別單點故障。負載測試是測量系統在預期負載下性能的過程。7fw28資訊網——每日最新資訊28at.com

負載測試負載測試7fw28資訊網——每日最新資訊28at.com

他們使用人工生產流量和 DNS 配置更改來進行負載測試。7fw28資訊網——每日最新資訊28at.com

8、團隊規模保持克制

隨著團隊規模的擴大,工程師之間的溝通路徑呈二次方增長。這是生產力下降的一個原因。7fw28資訊網——每日最新資訊28at.com

工程師之間的溝通路徑工程師之間的溝通路徑7fw28資訊網——每日最新資訊28at.com


7fw28資訊網——每日最新資訊28at.com

因此他們保持了較小的團隊規?!?2名工程師。7fw28資訊網——每日最新資訊28at.com

——后記——

WhatsApp被收購

WhatsApp 是市場上最成功的即時通訊工具之一。2014 年 2 月,拒絕給 Jan Koum 發放 Offer 的 Facebook ,最終以高達 190 億美元的價格收購了 WhatsApp。7fw28資訊網——每日最新資訊28at.com

據福布斯報道,到 2023 年,Jan Koum 的凈資產將達到 140 億美元。7fw28資訊網——每日最新資訊28at.com

原文鏈接:https://newsletter.systemdesign.one/p/whatsapp-engineering?actinotallow=share7fw28資訊網——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-13296-0.htmlWhatsApp 僅用 32 名工程師就能支持每天 500 億條消息的八個原因

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 面試薪水被壓?那是你還不懂多線程和高并發

下一篇: 硬核 JVM 壓縮指針詳解

標簽:
  • 熱門焦點
Top