whatsapp 收购 erlang,解锁即时通讯背后的强大编程语言

小编

哇,你知道吗?那个我们每天聊天离不开的WhatsApp,竟然和一种叫做Erlang的编程语言有着不解之缘呢!是的,你没听错,就是那个被Facebook以190亿美元收购的即时通讯巨头,它的背后竟然隐藏着这样一段不为人知的故事。

Erlang:一个时代的传奇编程语言

Erlang,这个名字听起来是不是有点陌生?但如果你知道WhatsApp,那么你一定知道Erlang。这种编程语言诞生于上世纪80年代,由瑞典电信巨头爱立信开发。它最初的设计理念是为了应对电信通讯中的海量用户并行通讯,对故障事件几乎是零容忍。简单来说,Erlang就是为了处理大量并发而生的。

Erlang的设计者,Joe Armstrong,他始终将电信通讯的工作原理铭记在心。在他看来,电信通讯需要同时有百万用户并行通讯,对故障事件几乎是零容忍。而Erlang,天生擅长多线程或玩这种杂技——再增加一个旋转的盘子?丢上来!这种语言非常富有表达性,你可以在一个很高的层面工作,用它的几个关键概念就能完成复杂的任务。

WhatsApp:32人团队如何服务4.5亿用户

说到WhatsApp,你可能只知道它是全球最大的即时通讯应用之一,但你知道它背后的团队只有32人吗?是的,你没听错,就是32人!他们是如何做到的?答案就是Erlang。

WhatsApp的软件架构师Rick Reed曾在一次演讲中分享过他们的经验。他说,WhatsApp使用了Erlang/基于FreeBSD服务器基础设施,为了应对消息的增长需求,他们必须克服一个又一个挑战。在系统容量(大于8000核心)和速度(每秒Erlang消息超7000万)上的极限挑战从未停歇!

Rick Reed还提到,在Yahoo!供职时,他负责用C建立高性能的消息总线,因此他对高扩展性架构并不陌生。WhatsApp的创始人中还包括了一个拥有大量扩展经验的Yahoo!工程师,这也是WhatsApp能够取得如此成就的重要原因。

Erlang+Go:WhatsApp的架构双剑

虽然Erlang在WhatsApp的架构中扮演了重要角色,但WhatsApp并没有止步于此。他们还引入了Go语言,使得他们的服务器架构更加高效。

Go语言,又称为Golang,是由Google开发的一种静态强类型、编译型、并发型编程语言。它具有简洁的语法、高效的性能和强大的并发处理能力。WhatsApp选择Go语言,是为了进一步提高他们的服务器性能和并发处理能力。

那么,Erlang和Go是如何结合的呢?简单来说,Erlang负责处理并发和消息传递,而Go则负责处理网络请求和数据处理。这种结合使得WhatsApp的服务器架构既强大又灵活。

WhatsApp的收购:一个时代的结束,另一个时代的开始

2014年,Facebook以190亿美元收购了WhatsApp。这个价格在当时引起了广泛的关注和讨论。有人认为这个价格过高,有人则认为这个价格合理。但无论如何,这个交易都标志着即时通讯行业的一个新时代的开始。

WhatsApp的成功,离不开Erlang和Go的强大支持。这两种编程语言使得WhatsApp能够以极低的成本和极小的团队规模,服务全球数亿用户。这也为其他企业提供了一个很好的案例,那就是:选择合适的工具和技术,可以让你在竞争激烈的市场中脱颖而出。

WhatsApp的收购和Erlang的故事,让我们看到了一个时代的结束和另一个时代的开始。在这个时代,编程语言和技术正在改变着我们的生活,而Erlang和Go正是这个时代的代表。让我们一起期待,下一个时代的到来吧!