IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

whatsapp深度使用Erlang有感

系统技术非业余研究 2013-05-01 17:44:21 累计浏览 5,833 次
本机暂存

这么多年过去了,社区还在讨论erlang是不是小众语言,各种怀疑的时候,whatsapp已经把erlang用到了极致。

logo-text-ver-color

whatsapp是什么? 参见它的 官网

WhatsApp Messenger is a cross-platform mobile messaging app which allows you to exchange messages without having to pay for SMS.

更为搞笑的是 主要开发者Rick Reed(rr@whatsapp.com),之前在Yahoo!, SGI工作,有着深厚的系统性能的背景。

在2012年开发push服务器的时候:efsf2012-whatsapp-scaling

Joined WhatsApp in 2011,New to Erlang

完全是个新手。

在2013年开发多媒体支持系统的时候:reed-efsf2013-whatsapp

Joined server team at WhatsApp in 2011,No prior Erlang experience

2-3年后他已经是Erlang的最高级别的行家了。

从他的二篇ppt的内容来看, 他把erlang的特性发挥到了极致,利用到了它最好的vm、 集群基础设施、数据库mnesia, 消除了非常多的数据Scale、内存池和锁的问题, 提到的技术和修正点非常值得我们参考。

虽然大部分的解决方法我们在日常都差不多用过。但是他很系统的整理出来,用在商业系统了,这是个非常大的飞跃。

下面摘抄几个数据,希望能让继续怀疑erlang的人能重新思考下:

whatsapp后台架构以erlang为主:

wa1

二百多万的长连接push服务器:

wa4

whatsapp数据集mnesia的规模:

wa2

生产系统的数据:

wa3

每秒的消息数:

wa6

媒体的报道:传Facebook与Whatsapp展开收购谈判:

wa5

小结:任何系统开发到最后,都是依靠操作系统,硬件提供的能力,需要解决的问题都是一样的,没有捷径!

hard working是必须的,依靠erlang团队做了大量的工作,这个为业务定制系统的工作可以变成轻松好多!

停止怀疑吧,加入这个阵营,收获不会少的。

同分类推荐文章

  1. 等了十年的 Go 链式管道,终于来了:seq 让你像写 Scala 一样写 Go (2026-06-25 18:38:18)
  2. Go 实验特性详解 (2026-06-21 10:05:27)
  3. amd64 微架构级别对 Go 程序性能提升多少? (2026-06-21 09:38:49)

查看更多 后端 文章 →

建议继续学习

  1. gen_tcp发送进程被挂起起因分析及对策 (累计阅读 37,823)
  2. Twitter/微博客的学习摘要 (累计阅读 12,264)
  3. 面试题 – 为什么我的朋友圈不见了? (累计阅读 11,954)
  4. Rolling cURL: PHP并发最佳实践 (累计阅读 11,488)
  5. Zookeeper研究和应用 (累计阅读 9,485)
  6. 分布式哈希和一致性哈希 (累计阅读 8,815)
  7. 浅析C++多线程内存模型 (累计阅读 8,805)
  8. 面试IT业界顶尖企业所应该知道的10道题(1) (累计阅读 8,531)
  9. C++ 多线程编程总结 (累计阅读 8,099)
  10. 在百度的第一年 (累计阅读 6,924)