亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

這篇文章概述了 WhatsApp 聯合創始人 Jan Koum 的令人難以置信的創業故事、以及用于擴展 WhatsApp 的工程技術。想要研究其可擴展性模式的朋友不妨分享這篇文章。

2008 年 1 月,美國加利福尼亞州。一位名為 Jan Koum 的雅虎工程師,在申請 Facebook 職位時被拒了。

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

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

盡管產品爆炸性增長是一個好現象,但 Jan Koum 和 WhatsApp 團隊必須采用最佳工程實踐來克服挑戰。

WhatsApp 滿足極端可擴展性的工程實踐的 8 點原則如下。

1、單一職責原則

他們只將產品的重點放在核心功能上——消息傳遞,并且沒有費心建立廣告網絡或社交媒體平臺。

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

他們還不惜一切代價消除了功能蔓延。當你向產品添加過多的功能時,就會發生功能蠕變。并使其難以使用。此外,他們更注重 WhatsApp 的可靠性。

2、技術棧

他們使用 Erlang 構建 WhatsApp 服務器的核心功能。因為它:

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

線程是 Erlang 的原生特性。但在JAVA或C++中,線程屬于操作系統。所以Erlang中沒有必要保存整個CPU狀態。這使得上下文切換更便宜。

熱加載可以更輕松地部署代碼更改,而無需重新啟動服務器;或者流量重定向。簡而言之,熱加載提供了高可用性。

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

不要重新發明輪子- 要么使用開源,要么購買商業解決方案。

WhatsApp 僅用 32 名工程師就能支持每天 500 億條消息的八個原因不要重新發明輪子

Ejabberd 是一個用 Erlang 編寫的開源實時消息服務器。

他們在 ejabberd 之上構建了 WhatsApp 。他們還重寫了一些 ejabberd 核心組件來滿足他們的需求。此外,WhatsApp 利用 google Push 等第三方服務來提供推送通知。

4、跨領域的關注

他們非常重視跨領域的關注,以提高產品質量。橫切關注點是影響產品許多部分的事情。并且很難分開。例如,監視和警報服務的運行狀況。

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

他們通過持續集成和持續交付改進了軟件開發流程;持續集成是將代碼更改定期合并到中央存儲庫的過程;持續交付是將代碼部署到測試或生產環境的過程。

5、可擴展性

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

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

他們在 FreeBSD 操作系統上運行 WhatsApp 服務器。因為他們之前在 Yahoo 工作時就有過使用 FreeBSD 的經驗。此外,FreeBSD 還提供了可靠的網絡堆棧。

他們還對 FreeBSD 進行了微調,以容納每臺服務器超過 200 萬個連接。并修改了文件、套接字等內核參數。

他們過度配置服務器來處理突發的流量峰值并為故障留出空間。例如,網絡分區或硬件故障等故障。

6、飛輪效應

他們測量了 CPU、上下文切換和系統調用等指標。然后找出并消除瓶頸。_ 他們定期這樣做。持續的反饋周期極大地提高了 WhatsApp 的性能。

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

7、質量測試

WhatsApp 團隊使用負載測試來識別單點故障。負載測試是測量系統在預期負載下性能的過程。

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

他們使用人工生產流量和 DNS 配置更改來進行負載測試。

8、團隊規模保持克制

隨著團隊規模的擴大,工程師之間的溝通路徑呈二次方增長。這是生產力下降的一個原因。

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

 

因此他們保持了較小的團隊規模——32名工程師。

——后記——

WhatsApp被收購

WhatsApp 是市場上最成功的即時通訊工具之一。2014 年 2 月,拒絕給 Jan Koum 發放 Offer 的 Facebook ,最終以高達 190 億美元的價格收購了 WhatsApp。

據福布斯報道,到 2023 年,Jan Koum 的凈資產將達到 140 億美元。

原文鏈接:https://newsletter.systemdesign.one/p/whatsapp-engineering?actinotallow=share

分享到:
標簽:WhatsApp
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定