WhatsApp是全球最受欢迎的聊天软件,用户数量达到9亿。在WhatsApp成长过程中,最让人惊奇是事情是,这件壮举是由一个小团队完成的。在公司被Facebook收购之前,它已拥有4.5亿用户,而公司的工程师只有35名。如今,它的工程师数量也只是增加到了50名。
WhatsApp很少谈论技术方面的事情。不过,在最近的一次科技聚会上,WhatsApp的软件工程师Jamshid Mahdavi谈到了公司的一些不寻常做法。比如,公司在构建自己的网络服务时,使用了一种不常见的编程语言:Erlang。这种语言并没有被许多程序员采用,但是,它非常适合WhatsApp的服务,一种大量用户进行交流的服务,而且,它让工程师快速部署新的代码。Mahdavi说,技术只是一方面,更为重要的是态度问题。
据 Wired网站报道,Mahdavi于两年前加入WhatsApp。他发现,公司对待技术的态度是他未曾见过的。一方面,这是因为公司使用了Erlang和FreeBSD操作系统,另一方面,公司努力维持一种非常简单的运作方式。“在构建大规模的架构上,这是一种完全不同的方法,”他说,“以极简主义的方式,只解决那些急需解决的问题,这让我大开眼界。”
WhatsApp使用Erlang的原因是,它擅于处理并行的任务。当互联网服务覆盖到更多人群,必然需要同时处理人们的各种需求,于是,此类语言变得很有吸引力。在开发反垃圾邮件系统时,Facebook就使用过另一种小众语言Haskell。与Haskell相同,Erlang也是诞生于80年代。它由瑞典爱立信的工程师开发,用于高速的电话网络。
“他们不是首先发明语言,然后搞懂它的用途,而是发明了一种解决特定问题的语言,”英国的一位Erlang专家Francesco Cesarini说,“当时的问题是大规模系统的扩展性和可靠性,那时候,电话网络是唯一显示出此类特性的系统。”从某种程度上说,WhatsApp就是替代了电话服务,因此,它也需要同样的“扩展性和可靠性”。
小编推荐阅读