成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

譯文 精選
開發 前端
這篇文章概述了 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 的可靠性。

2、技術棧

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

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

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

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

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

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

不要重新發明輪子不要重新發明輪子

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

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

4、跨領域的關注

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

跨領域關注點跨領域關注點

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

5、可擴展性

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

可擴展性可擴展性

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

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

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

6、飛輪效應

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

持續反饋循環持續反饋循環

7、質量測試

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

負載測試負載測試

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

8、團隊規模保持克制

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

工程師之間的溝通路徑工程師之間的溝通路徑


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

——后記——

WhatsApp被收購

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

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

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

責任編輯:武曉燕 來源: 51CTO技術棧
相關推薦

2023-10-24 17:25:35

2024-09-18 14:26:33

2011-06-29 09:34:59

網站被K

2021-06-29 10:03:45

數據科學機器學習算法

2024-03-13 08:00:00

Linux調試器應用程序

2021-09-15 14:45:57

數字化轉型IT技術

2022-11-17 10:49:52

數字化轉型數字企業

2016-12-14 12:13:19

蘋果IOSAdobe

2017-01-05 09:59:45

2012-10-29 11:01:17

2017-04-20 12:51:28

2022-06-15 14:33:27

大數據數據宕機云遷移

2022-03-10 14:48:54

LinuxUbuntu發行版

2019-12-23 14:47:19

漏洞滲透測試錯誤姿勢

2024-09-03 08:24:52

RestfulAPI結構

2022-06-15 14:37:30

元宇宙

2022-07-25 15:21:50

Java編程語言開發

2024-01-10 12:26:16

2024-09-30 13:14:01

2022-04-29 14:49:27

數據質量數據
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人欧美一区二区三区在线播放 | 国产午夜av片 | 成人毛片在线观看 | av黄色在线观看 | 韩日三级| 成人三级网址 | 国产高清在线精品 | 日韩中文字幕av | 久久69精品久久久久久久电影好 | 好婷婷网| 一区久久 | 婷婷久久五月 | 日韩午夜| 日韩成人国产 | 狠狠草视频 | 亚洲国产精品一区二区久久 | 国产日韩一区二区 | 一区二区三区四区在线 | 欧美日韩一区二区三区四区五区 | 国产成人av在线 | 99这里只有精品视频 | 久久99精品久久久久久国产越南 | 精品亚洲一区二区三区 | 久久久精品一区二区三区 | 国产一区二区三区在线 | 久久成人国产 | 欧美午夜一区 | 一区二区高清 | 性高湖久久久久久久久3小时 | 国产精品免费观看 | 深夜爽视频| 免费观看一级毛片 | 亚洲欧洲在线观看视频 | 99婷婷 | 九九视频在线观看 | 欧美在线成人影院 | 99小视频| av免费网址 | 精品国产不卡一区二区三区 | 91性高湖久久久久久久久_久久99 | 久久av网 |