当前位置:首页 > 科技  > 软件

WhatsApp 仅用 32 名工程师就能支持每天 500 亿条消息的八个原因

来源: 责编: 时间:2023-10-13 14:37:04 181观看
导读2008 年 1 月,美国加利福尼亚州。一位名为 Jan Koum 的雅虎工程师,在申请 Facebook 职位时被拒了。这当然不是故事的终点——他第二年入手了一部 iPhone,并立即认识到新 App Store 的巨大潜力。因此,他决定与雅虎的一些前

2008 年 1 月,美国加利福尼亚州。一位名为 Jan Koum 的雅虎工程师,在申请 Facebook 职位时被拒了。Qj428资讯网——每日最新资讯28at.com

这当然不是故事的终点——他第二年入手了一部 iPhone,并立即认识到新 App Store 的巨大潜力。因此,他决定与雅虎的一些前同事一起开发一款即时通讯工具,并将其命名为 WhatsApp,据称这个名字是他在朋友家的厨房讨论了几个小时就确定的。WhatsApp 背后的愿景是取代昂贵的短信。Qj428资讯网——每日最新资讯28at.com

WhatsApp 每天有 100 万人注册,其增长速度简直令人难以置信。但更为人难以想象的是:WhatsApp 每天需要支持来自 4.5 亿日活跃用户的500 亿条消息,他们却只用了32 名工程师就做到了。Qj428资讯网——每日最新资讯28at.com

尽管产品爆炸性增长是一个好现象,但 Jan Koum 和 WhatsApp 团队必须采用最佳工程实践来克服挑战。Qj428资讯网——每日最新资讯28at.com

WhatsApp 满足极端可扩展性的工程实践的 8 点原则如下。Qj428资讯网——每日最新资讯28at.com

1、单一职责原则

他们只将产品的重点放在核心功能上——消息传递,并且没有费心建立广告网络或社交媒体平台。Qj428资讯网——每日最新资讯28at.com

单一责任原则单一责任原则Qj428资讯网——每日最新资讯28at.com

他们还不惜一切代价消除了功能蔓延。当你向产品添加过多的功能时,就会发生功能蠕变。并使其难以使用。此外,他们更注重 WhatsApp 的可靠性。Qj428资讯网——每日最新资讯28at.com

2、技术栈

他们使用 Erlang 构建 WhatsApp 服务器的核心功能。因为它:Qj428资讯网——每日最新资讯28at.com

  • 体积小,可扩展性高
  • 并且支持热加载

线程是 Erlang 的原生特性。但在Java或C++中,线程属于操作系统。所以Erlang中没有必要保存整个CPU状态。这使得上下文切换更便宜。Qj428资讯网——每日最新资讯28at.com

热加载可以更轻松地部署代码更改,而无需重新启动服务器;或者流量重定向。简而言之,热加载提供了高可用性。Qj428资讯网——每日最新资讯28at.com

3、为什么要重新发明轮子?

不要重新发明轮子- 要么使用开源,要么购买商业解决方案。Qj428资讯网——每日最新资讯28at.com

不要重新发明轮子不要重新发明轮子Qj428资讯网——每日最新资讯28at.com

Ejabberd 是一个用 Erlang 编写的开源实时消息服务器。Qj428资讯网——每日最新资讯28at.com

他们在 ejabberd 之上构建了 WhatsApp 。他们还重写了一些 ejabberd 核心组件来满足他们的需求。此外,WhatsApp 利用 Google Push 等第三方服务来提供推送通知。Qj428资讯网——每日最新资讯28at.com

4、跨领域的关注

他们非常重视跨领域的关注,以提高产品质量。横切关注点是影响产品许多部分的事情。并且很难分开。例如,监视和警报服务的运行状况。Qj428资讯网——每日最新资讯28at.com

跨领域关注点跨领域关注点Qj428资讯网——每日最新资讯28at.com

他们通过持续集成和持续交付改进了软件开发流程;持续集成是将代码更改定期合并到中央存储库的过程;持续交付是将代码部署到测试或生产环境的过程。Qj428资讯网——每日最新资讯28at.com

5、可扩展性

WhatsApp使用对角缩放来降低成本和操作复杂性;水平扩展是增加资源池中机器数量的过程;垂直扩展是增加现有机器容量(例如 CPU 或内存)的过程;对角线缩放是水平和垂直缩放的混合。计算资源可以垂直和水平添加。Qj428资讯网——每日最新资讯28at.com

可扩展性可扩展性Qj428资讯网——每日最新资讯28at.com

他们在 FreeBSD 操作系统上运行 WhatsApp 服务器。因为他们之前在 Yahoo 工作时就有过使用 FreeBSD 的经验。此外,FreeBSD 还提供了可靠的网络堆栈。Qj428资讯网——每日最新资讯28at.com

他们还对 FreeBSD 进行了微调,以容纳每台服务器超过 200 万个连接。并修改了文件、套接字等内核参数。Qj428资讯网——每日最新资讯28at.com

他们过度配置服务器来处理突发的流量峰值并为故障留出空间。例如,网络分区或硬件故障等故障。Qj428资讯网——每日最新资讯28at.com

6、飞轮效应

他们测量了 CPU、上下文切换和系统调用等指标。然后找出并消除瓶颈。_ 他们定期这样做。持续的反馈周期极大地提高了 WhatsApp 的性能。Qj428资讯网——每日最新资讯28at.com

持续反馈循环持续反馈循环Qj428资讯网——每日最新资讯28at.com

7、质量测试

WhatsApp 团队使用负载测试来识别单点故障。负载测试是测量系统在预期负载下性能的过程。Qj428资讯网——每日最新资讯28at.com

负载测试负载测试Qj428资讯网——每日最新资讯28at.com

他们使用人工生产流量和 DNS 配置更改来进行负载测试。Qj428资讯网——每日最新资讯28at.com

8、团队规模保持克制

随着团队规模的扩大,工程师之间的沟通路径呈二次方增长。这是生产力下降的一个原因。Qj428资讯网——每日最新资讯28at.com

工程师之间的沟通路径工程师之间的沟通路径Qj428资讯网——每日最新资讯28at.com


Qj428资讯网——每日最新资讯28at.com

因此他们保持了较小的团队规模——32名工程师。Qj428资讯网——每日最新资讯28at.com

——后记——

WhatsApp被收购

WhatsApp 是市场上最成功的即时通讯工具之一。2014 年 2 月,拒绝给 Jan Koum 发放 Offer 的 Facebook ,最终以高达 190 亿美元的价格收购了 WhatsApp。Qj428资讯网——每日最新资讯28at.com

据福布斯报道,到 2023 年,Jan Koum 的净资产将达到 140 亿美元。Qj428资讯网——每日最新资讯28at.com

原文链接:https://newsletter.systemdesign.one/p/whatsapp-engineering?actinotallow=shareQj428资讯网——每日最新资讯28at.com

本文链接://www.dmpip.com//www.dmpip.com/showinfo-26-13548-0.htmlWhatsApp 仅用 32 名工程师就能支持每天 500 亿条消息的八个原因

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 面试薪水被压?那是你还不懂多线程和高并发

下一篇: 硬核 JVM 压缩指针详解

标签:
  • 热门焦点
  • 小米平板5 Pro 12.4简评:多专多能 兼顾影音娱乐的大屏利器

    小米平板5 Pro 12.4简评:多专多能 兼顾影音娱乐的大屏利器

    疫情带来了网课,网课盘活了安卓平板,安卓平板市场虽然中途停滞了几年,但好的一点就是停滞的这几年行业又有了新的发展方向,例如超窄边框、高刷新率、多摄镜头组合等,这就让安卓
  • 六大权益!华为8月服务日开启:手机免费贴膜、维修免人工费

    六大权益!华为8月服务日开启:手机免费贴膜、维修免人工费

    8月5日消息,一年一度的华为开发者大会2023(Together)日前在松山湖拉开帷幕,与此同时,华为8月服务日也式开启,到店可享六大专属权益。华为用户可在华为商城Ap
  • 三言两语说透设计模式的艺术-单例模式

    三言两语说透设计模式的艺术-单例模式

    写在前面单例模式是一种常用的软件设计模式,它所创建的对象只有一个实例,且该实例易于被外界访问。单例对象由于只有一个实例,所以它可以方便地被系统中的其他对象共享,从而减少
  • JVM优化:实战OutOfMemoryError异常

    JVM优化:实战OutOfMemoryError异常

    一、Java堆溢出堆内存中主要存放对象、数组等,只要不断地创建这些对象,并且保证 GC Roots 到对象之间有可达路径来避免垃 圾收集回收机制清除这些对象,当这些对象所占空间超过
  • 梁柱接棒两年,腾讯音乐闯出新路子

    梁柱接棒两年,腾讯音乐闯出新路子

    文丨田静 出品丨牛刀财经(niudaocaijing)7月5日,企鹅FM发布官方公告称由于业务调整,将于9月6日正式停止运营,这意味着腾讯音乐长音频业务走向消亡。腾讯在长音频领域还在摸索。为
  • “又被陈思诚骗了”

    “又被陈思诚骗了”

    作者|张思齐 出品|众面(ID:ZhongMian_ZM)如今的国产悬疑电影,成了陈思诚的天下。最近大爆电影《消失的她》票房突破30亿断层夺魁暑期档,陈思诚再度风头无两。你可以说陈思诚的
  • 东方甄选单飞:有些鸟注定是关不住的

    东方甄选单飞:有些鸟注定是关不住的

    作者:彭宽鸿来源:华尔街科技眼‍‍‍‍‍‍‍‍‍‍东方甄选创始人俞敏洪带队的“7天甘肃行”直播活动已在近日顺利收官。成立后一
  • 引领旗舰级影像能力向中端机普及 OPPO K11 系列发布 1799 元起

    引领旗舰级影像能力向中端机普及 OPPO K11 系列发布 1799 元起

    7月25日,OPPO正式发布K系列新品—— OPPO K11 。此次 K11 在中端手机市场长期被忽视的影像板块发力,突破性地搭载索尼 IMX890 旗舰大底主摄,支持 OIS
  • OPPO K11样张首曝:千元机影像“卷”得真不错!

    OPPO K11样张首曝:千元机影像“卷”得真不错!

    一直以来,OPPO K系列机型都保持着较为均衡的产品体验,历来都是2K价位的明星机型,去年推出的OPPO K10和OPPO K10 Pro两款机型凭借各自的出色配置,堪称有
Top
Baidu
map