全球同步的大规模现场直播,Facebook 工程师是如何搞定的?

2017 年 11 月 23 日 EGONetworks Daniel Terdiman

一场全球同步、数十亿人观看的现场直播活动,如何才能保证用户体验、保证不出差错?Facebook 做到了。

声明|文章转载自 36 氪
作者介绍

丹尼尔·泰尔丹( Daniel Terdiman )是一个常驻旧金山的科技记者,他拥有近 20 年的经验,是 CNET 和 VentureBeat 的老将,Daniel 亦曾为《连线》、《纽约时报》、《时代》等多家出版物供稿。

今年四月,一只名叫 April 的长颈鹿在纽约市的哈布斯维尔动物奇遇公园生下了小宝宝。同时,热切的观众们也在 Facebook Live 上实时关注着这场直播活动。

此次直播共计 140 万人参与观看,并发表了 25 万条评论。全国各地的 Facebook 工程师们要确保每个人都能看到 April 给她的小宝宝喂食,并发表评论,而且还要确保能让大家看到最新的更新。

Facebook 拥有超过 20 亿的用户, 其中 Messenger 和 Whatsapp 上的用户数都超过 10 亿,而 Instagram 用户数则超过 7 亿。

所有用户都觉得,确保能够与最重要的人一起观看实时交互是 Facebook 至关重要的任务。如果人们在聊天时看不到那些”正在回复“的小椭圆状态,Facebook 担心他们可能会失去兴趣。

Facebook 的实时基础设施经理 Shie Erlich 说:“关键是要确保当用户在社交网络上使用「实时功能」时,他们的好友都可以立即看到。“

Erlich 举例说:“如果你的朋友 Joe 想要直播小狗学到的新技巧,他只需要打开应用程序,并开始直播,他就可以开始把视频通过流媒体直播出去了。我们正在尝试为用户创造观众,要不然用户会感到寂寞。”

虽然 Facebook Live 播放的内容大部分是娱乐性的,但 Facebook 也不得不设法解决它引起的争议。人们已经开始利用它来流传一些令人震惊的事件,例如自杀和杀人事件。在某些情况下,Facebook 曾被指控移除那些今人不安的视频过于缓慢。

尽管如此,大多数直播视频都是无害的。Facebook 希望确保每一位用户都可以实时收看到这些视频,毕竟这些东西每时每刻都在发生。

为了做到这一点,Facebook 需要自动查找可能对 Joe 的视频感兴趣的人(如朋友,家人和粉丝)并向他们发送通知,提醒他们正在发生的事情。


如果他们关心,他们会点击通知,开始观看 Joe 的直播。很可能很快就有些人会开始发表评论或作出反应,例如点赞、发送爱心等等,这是每个人都想看到的。

Erlich 还提到参与到这个事件不仅是看到人们如何作出反应,Facebook 的系统也旨在让你知道,当你正在观看 Joe 的视频时,你的另一个朋友也正在观看。

次秒延迟

Erlich说其目标是“次秒延迟”,尽管确保上百万人同时参与一个直播视频是个十分困难的挑战。 Erlich 解释说:“实时是一个功能,而今天,它更像一个实用程序,做到实时是很困难的,其中大部分原因是如何同时为那么多人做到实时。”

他表示,令人难以置信的是,尽管数以千万计的人正在观看相同的视频,但 Facebook 仍然希望给每个人一个独特的体验。

他举例说:“如果你和我在大选之夜观看现场直播,我想看你的评论,因为你是我的朋友,而不是随机的人。”

与此同时,Facebook 的其他服务也是全球性的。虽然系统通常处理世界各地的无数事件,但有时候,每个人的注意力都被吸引到同一个事件当中。

Erlich解释说:“有个例子是上个月的日食。突然间,世界的注意力集中在这件事上了,把它看作是索伦之眼,一股深厚的兴趣指向一个特定的地方。我们的系统需要处理所有想获得相同信息或经验的人。”

在美国航空航天局的日食视频中,有超过 3100 万次观看和近 30 万条评论。这意味着 Facebook 系统的流量在几分钟内增长了 20 多倍。

这是 Erlich 的团队可以预测的事件,但是不可预测的呢?他说:“ Facebook 的基础设施必须承受任何事情。例如,碧昂丝在 Instagram 上宣布怀孕的这件事,获得了超过 1100 万个赞。”

根据 Erlich 的说法,成功处理预期和意料之外的事关键有三要素:

  • 首先,Facebook 有“坏蛋工程师”,他们有自由探索的权力去获得创造力,并且做出“疯狂的解决方案来解决困难问题。

  • 其次,Facebook 的服务旨在共同的平台上工作,这些平台是由多个产品团队构建和重复使用的。臃肿的企业“将在自己的体重下倒下”。

  • 最后,Facebook 不断升级系统,确保其当前的技术架构能够扩展到当今的需求,而未来将由更先进的基础设施处理。

Erlich 说:“我们的系统将遭到重创,我们知道这一点,这即将发生。”

功能降低

功能降低的一种方法是确保最重要的元素可用。

有时候,就像一个计算极端密集的热点一样,比如说日食和长颈鹿出生,这可能意味着个人交互将算法定位到实时内容。当有足够的带宽可用时,系统将再次返回显示所有内容。或者评论将按照发送的顺序显示,而不是仅显示来自朋友的评论。

这被称为功能降低。他说:“这意味着如果事情出了岔子,那么如何做才不会给用户造成烦恼,这是我们不断痴迷的事情。”Erlich 补充说:“目标是帮助内部工程团队提前选择他们的系统如何处理重负荷。”

Erlich 说:“随着时间的推移,这些问题可能会更加频繁,因为 Facebook 系统上播放的实时体验越来越多。所以公司必须做得更好,因为股价越高,失败的成本越来越大。我们花了很多时间来了解未来六个月或一年内会发生什么,我们正在努力确保不会在裤子掉下来的时候被人抓到。”

原文链接:https://www.fastcompany.com/40473618/how-facebooks-engineers-try-not-to-get-caught-with-their-pants-down-by-massive-real-time-events

责任编辑:赵新龙


推荐阅读

点击下方图片即可阅读

商汤科技联合创始人、副总裁杨帆:视觉 AI 技术落地挑战不断,五个维度判断一个行业是否具有做 AI 场景的价值

登录查看更多
0

相关内容

Facebook 是一个社交网络服务网站,于 2004 年 2 月 4 日上线。从 2006 年 9 月到 2007 年 9 月间,该网站在全美网站中的排名由第 60 名上升至第 7 名。同时 Facebook 是美国排名第一的照片分享站点。 2012年 2 月 1 日,Facebook向美国证券交易委员会提交集资规模为 50 亿美元的上市申请。
Python数据分析:过去、现在和未来,52页ppt
专知会员服务
99+阅读 · 2020年3月9日
开源 AI 技术潜在危机爆发,被大肆用于色情方向
“我今年36岁了,除了收费啥也不会!”
创业邦杂志
4+阅读 · 2018年1月14日
谷歌要输给“邪恶的独角兽”了
商业周刊中文版
3+阅读 · 2017年12月17日
羞羞的AI,如何改变色情产业?
虎嗅网
9+阅读 · 2017年11月24日
AI都干过什么让人细思极恐的事?
全球创新论坛
4+阅读 · 2017年9月15日
这位程序员为什么要弃用Facebook?
CSDN
5+阅读 · 2017年7月14日
Universal Transformers
Arxiv
5+阅读 · 2019年3月5日
Exploring Visual Relationship for Image Captioning
Arxiv
14+阅读 · 2018年9月19日
Arxiv
4+阅读 · 2018年6月5日
Arxiv
11+阅读 · 2018年5月13日
Arxiv
7+阅读 · 2018年4月24日
Arxiv
5+阅读 · 2016年1月15日
Arxiv
3+阅读 · 2012年11月20日
VIP会员
相关VIP内容
Python数据分析:过去、现在和未来,52页ppt
专知会员服务
99+阅读 · 2020年3月9日
相关资讯
开源 AI 技术潜在危机爆发,被大肆用于色情方向
“我今年36岁了,除了收费啥也不会!”
创业邦杂志
4+阅读 · 2018年1月14日
谷歌要输给“邪恶的独角兽”了
商业周刊中文版
3+阅读 · 2017年12月17日
羞羞的AI,如何改变色情产业?
虎嗅网
9+阅读 · 2017年11月24日
AI都干过什么让人细思极恐的事?
全球创新论坛
4+阅读 · 2017年9月15日
这位程序员为什么要弃用Facebook?
CSDN
5+阅读 · 2017年7月14日
相关论文
Universal Transformers
Arxiv
5+阅读 · 2019年3月5日
Exploring Visual Relationship for Image Captioning
Arxiv
14+阅读 · 2018年9月19日
Arxiv
4+阅读 · 2018年6月5日
Arxiv
11+阅读 · 2018年5月13日
Arxiv
7+阅读 · 2018年4月24日
Arxiv
5+阅读 · 2016年1月15日
Arxiv
3+阅读 · 2012年11月20日
Top
微信扫码咨询专知VIP会员