whatsapp深度使用Erlang有感
这么多年过去了,社区还在讨论erlang是不是小众语言,各种怀疑的时候,whatsapp已经把erlang用到了极致。
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为主:
二百多万的长连接push服务器:
whatsapp数据集mnesia的规模:
生产系统的数据:
每秒的消息数:
媒体的报道:传Facebook与Whatsapp展开收购谈判:
小结:任何系统开发到最后,都是依靠操作系统,硬件提供的能力,需要解决的问题都是一样的,没有捷径!
hard working是必须的,依靠erlang团队做了大量的工作,这个为业务定制系统的工作可以变成轻松好多!
停止怀疑吧,加入这个阵营,收获不会少的。
建议继续学习:
- Erlang match_spec引擎介绍和应用 (阅读:4645)
- php-erlang (阅读:4354)
- gen_tcp调用进程收到{empty_out_q, Port}消息奇怪行为分析 (阅读:3591)
- hibernate使用注意事项 (阅读:3271)
- Erlang如何限制节点对集群的访问之net_kernel:allow (阅读:3139)
- Erlang linkin driver用port_control方式时的一些经验分享 (阅读:3009)
- ERLANG OTP源码分析 – gen_server (阅读:2934)
- erlang学习手记 (阅读:2747)
- gen_tcp容易误用的一点解释 (阅读:2686)
- Erlang虚拟机内存使用问题以及监控 (阅读:2460)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:Yu Feng 来源: 系统技术非业余研究
- 标签: Erlang whatsapp
- 发布时间:2013-05-01 17:44:21
-
[68] find命令的一点注意事项
-
[48] 读书笔记-壹百度:百度十年千倍的29条法则
-
[42] memory prefetch浅析
-
[34] 卡诺模型―设计品质与设计价值的思考
-
[30] 小屏幕移动设备网页设计注意事项
-
[28] Oracle bbed工具的编译
-
[23] 基本排序算法的PHP实现
-
[22] 杨建:网站加速--Cache为王篇
-
[22] 8大实用又重要Mac使用技巧
-
[20] 程序员技术练级攻略