网站首页 > 技术教程 正文
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年代。它由瑞典Ericsson的工程师开发,用于高速的电话网路。
“他们不是首先发明语言,然后搞懂它的用途,而是发明了一种解决特定问题的语言,” 英国的一位Erlang 专家Francesco Cesarini说,“当时的问题是大规模系统的扩展性和可靠性,那时候,电话网络是唯一显示出此类特性的系统。”从某种程度上说,WhatsApp就是替代了电话服务,因此,它也需要同样的“扩展性和可靠性”。
当然,这种语言也有一些问题。一是懂Erlang的程序员比较少,二是它可能与现有系统不兼容。Facebook曾用Erlang编写了Facebook Chat,但是,它后来又重写了软体,以便更好兼容公司的其它系统。对于WhatsApp 来说,这些似乎不是什么问题。它不需要考虑与现有系统的兼容,而且,Erlang程序员稀少也没什么关系。
“我们的招募策略是,找到最好的、最聪明的工程师。我们不会因为某个人了解Erlang就聘用他。” Mahdavi 说,“我们希望,当工程师进入公司后,花上一周时间去熟悉这种语言,然后学会使用它。如果你聘用了聪明的人,他们能够做到这一点。”
来自:爱范儿
微信公众号 :互联网创业圈(微信号: cooboys )提供互联网创业、科技创业的咨询,互联网、科技、创业、企管的原创文章。
猜你喜欢
- 2024-12-28 ChatGPT,将元宇宙拍在沙滩上? 元宇宙cso
- 2024-12-28 WhatsApp Facebook line实现实时翻译 自动翻译 AI翻译 边聊边译
- 2024-12-28 Facebook F8 开发者大会将发布聊天机器人平台
- 2024-12-28 累了吧?看看别人是如何简化生活的!
- 2024-12-28 像真人一样聊天,ChatGPT向AI助理更进一步|新京报快评
- 2024-12-28 如何利用Facebook Messenger建立联络,让用户找到你?
- 2024-12-28 微软Tay没玩够?社交巨头Facebook聊天机器人横空出世
- 2024-12-28 Facebook Messenger 将增加语音聊天翻译功能
- 2024-12-28 Facebook涉足手机聊天领域 推出Facebook版“微信”
- 2024-12-28 Facebook At Work将迎来它的客户端“Work Chat”
你 发表评论:
欢迎- 最近发表
-
- Linux新手必看:几种方法帮你查看CPU核心数量
- linux基础命令之lscpu命令(linux中ls命令的用法)
- Linux lscpu 命令使用详解(linux常用ls命令)
- 如何查询 Linux 中 CPU 的数量?这几个命令要知道!
- 在linux上怎么查看cpu信息(linux如何查看cpu信息)
- 查看 CPU 的命令和磁盘 IO 的命令
- 如何在CentOS7上改变网卡名(centos怎么改网卡名字)
- 网工必备Linux网络管理命令(网工必备linux网络管理命令是什么)
- Linux 网络命令知多少(linux 网络 命令)
- Linux通过命令行连接wifi的方式(linux命令行连接无线网)
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)