# Facebook 如何向 80 万同时观看者直播
> 原文: [http://highscalability.com/blog/2016/6/27/how-facebook-live-streams-to-800000-simultaneous-viewers.html](http://highscalability.com/blog/2016/6/27/how-facebook-live-streams-to-800000-simultaneous-viewers.html)
![](https://img.kancloud.cn/8b/2f/8b2f80b8b7bc780e91d8d22ffb33f5d0_400x201.png)
与拥有 核武器的国家相比,很少有公司知道如何建立全球性的分布式服务。 Facebook 是其中一家公司, [Facebook Live](https://www.facebook.com/livemap/) ,Facebook 的 [新](https://live.fb.com/about/) 实时视频 流产品,就是这些服务之一。
Facebook CEO [马克·扎克伯格](https://www.buzzfeed.com/mathonan/why-facebook-and-mark-zuckerberg-went-all-in-on-live-video):
> 我们做出的重大决定是将我们的许多视频工作重点转移到 Live 上,因为这是一种新兴的新格式; 而不是过去五到十年一直在线的那种视频……我们正在进入视频的新黄金时代。 如果您快进五年,人们在 Facebook 上看到并每天分享的大部分内容都是视频,我不会感到惊讶。
如果您从事的是广告业务,那么比提供永无止境,始终在扩展且可自由生成的广告就绪内容更好? 当 Google [开始在呈指数增长的网络上投放广告时,就利用了](http://www.wsj.com/articles/SB108319881076696889) 来进行经济分析。
Facebook 的流媒体表演的一个例子是两个人的 45 分钟视频 [用橡皮筋爆炸西瓜](https://www.buzzfeed.com/brendanklinkenberg/this-exploding-watermelon-was-facebook-lives-biggest-hit-to) 。 它达到了超过 80 万同时观看者的顶峰,这些评论者还收集了 30 万以上的评论。 这就是您可以通过拥有 15 亿用户的社交网络产生的病毒规模。
作为比较 [1.14 亿](http://www.statista.com/statistics/216526/super-bowl-us-tv-viewership/) 观看了 2015 年超级碗的观众,平均 [观看者有 236 万 实时流中的](http://money.cnn.com/2015/10/26/media/nfl-yahoo-live-stream-results/) 。 Twitch 的 [840,000](http://www.geekwire.com/2015/amazons-twitch-attracts-monster-audience-at-e3-with-21m-viewers-tuning-in-online/) 观众人数在 2015 年 E3 达到顶峰。9 月 16 日的共和党辩论在 [921,000 达到顶峰 ]](http://www.politicususa.com/2015/10/14/debate-watched-democratic-debate.html) 同时直播。
因此,Facebook 处于最新状态。 请记住,Facebook 也会同时有大量其他流。
一篇有线文章 [引用了](http://www.wired.com/2016/04/facebook-really-really-wants-broadcast-watch-live-video/) Facebook 首席产品官 Chris Cox,他说 Facebook:
* 有超过**个**现场直播人员。 ([从[12]开始](https://www.buzzfeed.com/mathonan/why-facebook-and-mark-zuckerberg-went-all-in-on-live-video),现在该项目有 150 多名工程师)
* 需要能够提供**数百万个同时流**而不会崩溃。
* 需要能够在流上支持**数百万同时观看者,以及全球不同设备和服务提供商之间的无缝流。**
Cox 说:“事实证明这是一个非常困难的基础架构问题。”
如果我们有一些有关如何解决该基础结构问题的详细信息,这会很有趣吗? 祸是我们。 但是等等,我们做到了!
[Federico Larumbe](https://www.linkedin.com/in/federicolarumbe) 来自 Facebook 的流量小组,该小组致力于为 Facebook 的 CDN 和全球负载平衡系统提供支持的缓存软件,并发表了精彩的演讲: [扩展 Facebook Live](https://code.facebook.com/posts/1036362693099725/networking-scale-may-2016-recap/) ,他在其中分享了有关 Live 工作方式的一些详细信息。
这是我在演讲中的发言。 令人印象深刻
## 起源故事
* Facebook 是一项新功能,允许人们实时共享视频。 (请注意,这对于 Facebook 来说只是另一个功能)。
* 于 2015 年 4 月推出,只有名人才能通过 [提及应用](https://www.facebook.com/about/mentions/) 作为与粉丝互动的媒介使用。
* 这是产品改进和协议迭代开始的一年。
* 他们以 HTTP 实时流媒体 [HLS](https://en.wikipedia.org/wiki/HTTP_Live_Streaming) 开头。 它受 iPhone 支持,并允许他们使用现有的 CDN 架构。
* 同时开始研究 [RTMP](https://en.wikipedia.org/wiki/Real_Time_Messaging_Protocol) (实时消息协议) ,这是一种基于 TCP 的协议。 从手机发送到实时流服务器的是视频流和音频流。
* 优点:RTMP 在广播者和观看者之间具有较低的终端等待时间。 在人们相互交流的交互式广播中,这确实有所作为。 然后,降低等待时间并减少几秒钟的延迟,将使体验有所不同。
* 劣势:由于它不是基于 HTTP 的,因此需要一个完整的体系结构。 需要开发新的 RTMP 代理以使其扩展。
* 还研究了 [MPEG-DASH](https://en.wikipedia.org/wiki/Dynamic_Adaptive_Streaming_over_HTTP) (基于 HTTP 的动态自适应流)。
* 优势:与 HLS 相比,它的空间效率高 15%。
* 优点:它允许自适应比特率。 编码质量可以基于网络吞吐量而变化。
* [吹笛者中出压缩解决方案](https://www.crunchbase.com/organization/pied-piper#/entity) :(开个玩笑)
* 于 2015 年 12 月在数十个国家/地区推出。
![](https://img.kancloud.cn/82/54/8254dd27ae4e5cf4a51baad385ba5bca_400x235.png)
## 实时视频与众不同,这会引起问题
* 前面提到的西瓜视频的流量模式:
* 最初的上升非常陡峭,在几分钟之内达到了每秒 100 多个请求,并持续增长直到视频结束。
* 然后,流量像石头一样下降。
* 换句话说:流量非常大。
![](https://img.kancloud.cn/c2/7f/c27fa1869cf77d06c73850c6b490ec60_150x150.png)
* 实时视频与普通视频不同:它会导致**尖峰** **流量模式**。
* 实况视频更具吸引力,因此观看**的**比普通视频多 3 倍。
* 实时视频出现在新闻源的顶部,因此被观看的可能性更高。
* 通知会发送到每个页面的所有粉丝,以便另一组可能会观看视频的人。
* 高峰流量会导致缓存系统和负载平衡系统出现问题。
* **缓存问题**
* 很多人可能希望同时观看直播视频。 这是您的经典 [雷电牧群问题](https://en.wikipedia.org/wiki/Thundering_herd_problem) 。
* 尖刻的流量模式给缓存系统带来压力。
* 视频被分割成一秒钟的文件。 当流量激增时,缓存这些段的服务器可能会过载。
* **全局负载平衡问题**
* Facebook 在全球分布 [个存在点](https://en.wikipedia.org/wiki/Point_of_presence) (PoP)。 Facebook 流量在全球范围内分布。
* 挑战在于防止峰值使 PoP 过载。
## 大图片架构
这就是直播流从一个广播公司到数百万观众的方式。
* 广播员在其手机上开始直播视频。
* 手机将 RTMP 流发送到实时流服务器。
* 实时流服务器解码视频并将代码转换为多个比特率。
* 对于每个比特率,将连续生成一秒钟的 MPEG-DASH 段。
* 段存储在数据中心缓存中。
* 从数据中心缓存段被发送到位于存在点的缓存(PoP 缓存)。
* 观看者在观看时会收到一个实时故事。
* 他们设备上的播放器开始以每秒 1 个的速率从 PoP 缓存中获取片段。
## 它如何缩放?
* 数据中心高速缓存和**许多 PoP 高速缓存**之间有一个**乘法点**。 用户访问 PoP 缓存,而不是数据中心,并且全世界分布着许多 PoP 缓存。
* 另一个乘数是每个 PoP 中的**。**
* 在 PoP 中有**两层**:一层 HTTP 代理和一层缓存。
* 查看器从 HTTP 代理请求段。 代理检查该段是否在缓存中。 如果在缓存中,则返回该段。 如果不在缓存中,则将对该段的请求发送到数据中心。
* 不同的**段存储在不同的缓存**中,从而有助于跨不同的缓存主机进行负载平衡。
## 保护数据中心免受雷电袭击
* 当所有观众同时请求相同的片段时会发生什么?
* 如果该段不在高速缓存中,则将向每个查看器发送一个请求到数据中心。
* **请求合并** 。 通过将请求合并添加到 PoP 缓存中,减少了请求数量。 仅第一个请求发送到数据中心。 其他请求将一直保留,直到第一个响应到达并将数据发送给所有查看者为止。
* 新的缓存层已添加到代理,以避免 **Hot Server 问题**。
* 所有查看器都发送到一个缓存主机,以等待该片段,这可能会使主机过载。
* 代理**添加了缓存层**。 实际上,只有第一个对代理的请求才向缓存发出请求。 以下所有请求均直接从代理服务。
## PoP 仍然处于危险之中-全局负载平衡正在救援
* 因此,保护数据中心不受雷电群问题的影响,但 PoP 仍然处于危险之中。 Live 的问题是尖峰非常大,以致 PoP 可能在 PoP 的负载度量达到负载平衡器之前过载。
* 每个 PoP 具有数量有限的服务器和连接性。 如何防止峰值导致 PoP 过载?
* 名为 Cartographer 的系统将 Internet 子网映射到 PoP。 它测量每个子网和每个 PoP 之间的延迟。 这是延迟测量。
* 测量每个 PoP 的负载,并将每个用户发送到具有足够容量的最近 PoP。 代理中有一些计数器可以衡量它们承受的负载量。 这些计数器是汇总的,因此我们知道每个 PoP 的负载。
* 现在存在一个优化问题,该问题会考虑容量限制并最大程度地减少延迟。
* 使用控制系统时,存在测量延迟和反应延迟。
* 他们将负载测量窗口从 1.5 分钟更改为 3 秒,但仍然有 3 秒的窗口。
* 解决方案是在实际发生负载之前 **预测负载** 。
* 实施了**容量估算器**,将每个 PoP 的先前负载和当前负载外推到未来负载。
* 如果负载当前正在增加,预测器如何预测负载将减少?
* **三次样条**用于 [插值](https://en.wikipedia.org/wiki/Spline_interpolation) 功能。
* 取一阶和二阶导数。 如果速度为正,则负载将增加。 如果加速度为负,则表示速度正在降低,最终将为零并开始降低。
* 三次样条比线性插值预测更复杂的交通模式。
* **避免振荡** 。 此插值功能还解决了振荡问题。
* 测量和反应的延迟意味着对过时的数据做出决策。 插值可减少误差,更准确地进行预测并减少振荡。 因此负载可以更接近目标容量
* 当前预测是基于 最近的三个间隔 ,其中每个间隔为 30 秒。 几乎是瞬时负载。
## 测试
* 您需要能够使 PoP 过载。
* 构建了一个负载测试服务,该服务在 PoP 上全局分布,以模拟实时流量。
* 能够模拟 10 倍的生产负荷。
* 可以模拟一次请求一个片段的查看器。
* 该系统有助于揭示和修复容量估计器中的问题,以调整参数,并验证缓存层是否解决了雷电群问题。
## 上传可靠性
* 实时上传视频具有挑战性。
* 以具有 100 至 300 Kbps 可用带宽的上载为例。
* 音频需要 64 Kbps 的吞吐量。
* 标清视频需要 500 Kbps 的吞吐量。
* 手机上的自适应编码用于调整视频+音频的吞吐量不足。 视频的编码比特率根据可用的网络带宽进行调整。
* 决定上传比特率的方法是在手机中通过测量 RTMP 连接上的上传字节来完成,并且对最后间隔进行加权平均。
## 未来方向
* 研究一种推送机制,而不是请求拉机制,利用 HTTP / 2 在请求分段之前将其推送到 PoP。
## 相关文章
* [关于 HackerNews](https://news.ycombinator.com/item?id=11987654)
* [扩展 Facebook Live](https://code.facebook.com/posts/1036362693099725/networking-scale-may-2016-recap/)
* [为什么 Facebook 和 Mark Zuckerberg 都参与直播视频](https://www.buzzfeed.com/mathonan/why-facebook-and-mark-zuckerberg-went-all-in-on-live-video)
* [连接世界:Facebook 网络基础架构](http://cs.unc.edu/xcms/wpfiles/50th-symp/Moorthy.pdf)
* [Gamoloco](https://gamoloco.com/) 跟踪 1476093 个频道的实时视频统计信息。
Google Chrome 浏览器告诉我您的网站已感染恶意软件。 也许是个调皮的广告?
我很乐意在具有如此高流量的平台上工作。 12 位工程师可以毫无问题地做到这一点。 很少有人可以在应用程序上工作,甚至可以进行额外的数据压缩,而在主平台上则很少。 我什至可以处理 100-200k 观众的实时流,唯一的限制是资金有限;)我还是不明白 150 位工程师在这方面做了什么... 很抱歉,我目前没有客户,流量非常大。
150 名工程师可以同时建立 10 个创业公司! 没有留下深刻印象。
我不知道为什么 Google 网站管理员工具 Dobes 会显示该网站存在我什至无法在该网站上找到的问题,但是却没有说出它是否带有恶意软件。
我不知道 Facebook 工程师的自我来自何处。 毫无疑问,这是一个很难解决的问题,但我认为这与核武器的复杂性不相上下。
Facebook live 的问题都不是新问题。 它们是成熟的技术,许多公司已经多次解决了它们。
规模仍然非常可观,我想你们应该专注于此。
我对 MPEG-DASH 感到担心,“它允许自适应比特率。编码质量可以根据网络吞吐量而变化”。 那是优点还是缺点? 谢谢。
自适应比特率通常被认为是一个优势,因为只要带宽高于最小比特率,流就不会中断。
顺便说一下,就我所知,MPEG-DASH 与 HLS 本质上相同,都允许自适应比特率。
- LiveJournal 体系结构
- mixi.jp 体系结构
- 友谊建筑
- FeedBurner 体系结构
- GoogleTalk 架构
- ThemBid 架构
- 使用 Amazon 服务以 100 美元的价格构建无限可扩展的基础架构
- TypePad 建筑
- 维基媒体架构
- Joost 网络架构
- 亚马逊建筑
- Fotolog 扩展成功的秘诀
- 普恩斯的教训-早期
- 论文:Wikipedia 的站点内部,配置,代码示例和管理问题
- 扩大早期创业规模
- Feedblendr 架构-使用 EC2 进行扩展
- Slashdot Architecture-互联网的老人如何学会扩展
- Flickr 架构
- Tailrank 架构-了解如何在整个徽标范围内跟踪模因
- Ruby on Rails 如何在 550k 网页浏览中幸存
- Mailinator 架构
- Rackspace 现在如何使用 MapReduce 和 Hadoop 查询 TB 的数据
- Yandex 架构
- YouTube 架构
- Skype 计划 PostgreSQL 扩展到 10 亿用户
- 易趣建筑
- FaceStat 的祸根与智慧赢得了胜利
- Flickr 的联合会:每天进行数十亿次查询
- EVE 在线架构
- Notify.me 体系结构-同步性
- Google 架构
- 第二人生架构-网格
- MySpace 体系结构
- 扩展 Digg 和其他 Web 应用程序
- Digg 建筑
- 在 Amazon EC2 中部署大规模基础架构的六个经验教训
- Wolfram | Alpha 建筑
- 为什么 Facebook,Digg 和 Twitter 很难扩展?
- 全球范围扩展的 10 个 eBay 秘密
- BuddyPoke 如何使用 Google App Engine 在 Facebook 上扩展
- 《 FarmVille》如何扩展以每月收获 7500 万玩家
- Twitter 计划分析 1000 亿条推文
- MySpace 如何与 100 万个并发用户一起测试其实时站点
- FarmVille 如何扩展-后续
- Justin.tv 的实时视频广播架构
- 策略:缓存 404 在服务器时间上节省了洋葱 66%
- Poppen.de 建筑
- MocoSpace Architecture-一个月有 30 亿个移动页面浏览量
- Sify.com 体系结构-每秒 3900 个请求的门户
- 每月将 Reddit 打造为 2.7 亿页面浏览量时汲取的 7 个教训
- Playfish 的社交游戏架构-每月有 5000 万用户并且不断增长
- 扩展 BBC iPlayer 的 6 种策略
- Facebook 的新实时消息系统:HBase 每月可存储 135 亿条消息
- Pinboard.in Architecture-付费玩以保持系统小巧
- BankSimple 迷你架构-使用下一代工具链
- Riak 的 Bitcask-用于快速键/值数据的日志结构哈希表
- Mollom 体系结构-每秒以 100 个请求杀死超过 3.73 亿个垃圾邮件
- Wordnik-MongoDB 和 Scala 上每天有 1000 万个 API 请求
- Node.js 成为堆栈的一部分了吗? SimpleGeo 说是的。
- 堆栈溢出体系结构更新-现在每月有 9500 万页面浏览量
- Medialets 体系结构-击败艰巨的移动设备数据
- Facebook 的新实时分析系统:HBase 每天处理 200 亿个事件
- Microsoft Stack 是否杀死了 MySpace?
- Viddler Architecture-每天嵌入 700 万个和 1500 Req / Sec 高峰
- Facebook:用于扩展数十亿条消息的示例规范架构
- Evernote Architecture-每天有 900 万用户和 1.5 亿个请求
- TripAdvisor 的短
- TripAdvisor 架构-4,000 万访客,200M 动态页面浏览,30TB 数据
- ATMCash 利用虚拟化实现安全性-不变性和还原
- Google+是使用您也可以使用的工具构建的:闭包,Java Servlet,JavaScript,BigTable,Colossus,快速周转
- 新的文物建筑-每天收集 20 亿多个指标
- Peecho Architecture-鞋带上的可扩展性
- 标记式架构-扩展到 1 亿用户,1000 台服务器和 50 亿个页面视图
- 论文:Akamai 网络-70 个国家/地区的 61,000 台服务器,1,000 个网络
- 策略:在 S3 或 GitHub 上运行可扩展,可用且廉价的静态站点
- Pud 是反堆栈-Windows,CFML,Dropbox,Xeround,JungleDisk,ELB
- 用于扩展 Turntable.fm 和 Labmeeting 的数百万用户的 17 种技术
- StackExchange 体系结构更新-平稳运行,Amazon 4x 更昂贵
- DataSift 体系结构:每秒进行 120,000 条推文的实时数据挖掘
- Instagram 架构:1400 万用户,1 TB 的照片,数百个实例,数十种技术
- PlentyOfFish 更新-每月 60 亿次浏览量和 320 亿张图片
- Etsy Saga:从筒仓到开心到一个月的浏览量达到数十亿
- 数据范围项目-6PB 存储,500GBytes / sec 顺序 IO,20M IOPS,130TFlops
- 99designs 的设计-数以千万计的综合浏览量
- Tumblr Architecture-150 亿页面浏览量一个月,比 Twitter 更难扩展
- Berkeley DB 体系结构-NoSQL 很酷之前的 NoSQL
- Pixable Architecture-每天对 2000 万张照片进行爬网,分析和排名
- LinkedIn:使用 Databus 创建低延迟更改数据捕获系统
- 在 30 分钟内进行 7 年的 YouTube 可扩展性课程
- YouPorn-每天定位 2 亿次观看
- Instagram 架构更新:Instagram 有何新功能?
- 搜索技术剖析:blekko 的 NoSQL 数据库
- Pinterest 体系结构更新-1800 万访问者,增长 10 倍,拥有 12 名员工,410 TB 数据
- 搜索技术剖析:使用组合器爬行
- iDoneThis-从头开始扩展基于电子邮件的应用程序
- StubHub 体系结构:全球最大的票务市场背后的惊人复杂性
- FictionPress:在网络上发布 600 万本小说
- Cinchcast 体系结构-每天产生 1,500 小时的音频
- 棱柱架构-使用社交网络上的机器学习来弄清您应该在网络上阅读的内容
- 棱镜更新:基于文档和用户的机器学习
- Zoosk-实时通信背后的工程
- WordPress.com 使用 NGINX 服务 70,000 req / sec 和超过 15 Gbit / sec 的流量
- 史诗般的 TripAdvisor 更新:为什么不在云上运行? 盛大的实验
- UltraDNS 如何处理数十万个区域和数千万条记录
- 更简单,更便宜,更快:Playtomic 从.NET 迁移到 Node 和 Heroku
- Spanner-关于程序员使用 NoSQL 规模的 SQL 语义构建应用程序
- BigData 使用 Erlang,C 和 Lisp 对抗移动数据海啸
- 分析数十亿笔信用卡交易并在云中提供低延迟的见解
- MongoDB 和 GridFS 用于内部和内部数据中心数据复制
- 每天处理 1 亿个像素-少量竞争会导致大规模问题
- DuckDuckGo 体系结构-每天进行 100 万次深度搜索并不断增长
- SongPop 在 GAE 上可扩展至 100 万活跃用户,表明 PaaS 未通过
- Iron.io 从 Ruby 迁移到 Go:减少了 28 台服务器并避免了巨大的 Clusterf ** ks
- 可汗学院支票簿每月在 GAE 上扩展至 600 万用户
- 在破坏之前先检查自己-鳄梨的建筑演进的 5 个早期阶段
- 缩放 Pinterest-两年内每月从 0 到十亿的页面浏览量
- Facebook 的网络秘密
- 神话:埃里克·布鲁尔(Eric Brewer)谈银行为什么不是碱-可用性就是收入
- 一千万个并发连接的秘密-内核是问题,而不是解决方案
- GOV.UK-不是你父亲的书库
- 缩放邮箱-在 6 周内从 0 到 100 万用户,每天 1 亿条消息
- 在 Yelp 上利用云计算-每月访问量为 1.02 亿,评论量为 3900 万
- 每台服务器将 PHP 扩展到 30,000 个并发用户的 5 条 Rockin'Tips
- Twitter 的架构用于在 5 秒内处理 1.5 亿活跃用户,300K QPS,22 MB / S Firehose 以及发送推文
- Salesforce Architecture-他们每天如何处理 13 亿笔交易
- 扩大流量的设计决策
- ESPN 的架构规模-每秒以 100,000 Duh Nuh Nuhs 运行
- 如何制作无限可扩展的关系数据库管理系统(RDBMS)
- Bazaarvoice 的架构每月发展到 500M 唯一用户
- HipChat 如何使用 ElasticSearch 和 Redis 存储和索引数十亿条消息
- NYTimes 架构:无头,无主控,无单点故障
- 接下来的大型声音如何使用 Hadoop 数据版本控制系统跟踪万亿首歌曲的播放,喜欢和更多内容
- Google 如何备份 Internet 和数十亿字节的其他数据
- 从 HackerEarth 用 Apache 扩展 Python 和 Django 的 13 个简单技巧
- AOL.com 体系结构如何发展到 99.999%的可用性,每天 800 万的访问者和每秒 200,000 个请求
- Facebook 以 190 亿美元的价格收购了 WhatsApp 体系结构
- 使用 AWS,Scala,Akka,Play,MongoDB 和 Elasticsearch 构建社交音乐服务
- 大,小,热还是冷-条带,Tapad,Etsy 和 Square 的健壮数据管道示例
- WhatsApp 如何每秒吸引近 5 亿用户,11,000 内核和 7,000 万条消息
- Disqus 如何以每秒 165K 的消息和小于 0.2 秒的延迟进行实时处理
- 关于 Disqus 的更新:它仍然是实时的,但是 Go 摧毁了 Python
- 关于 Wayback 机器如何在银河系中存储比明星更多的页面的简短说明
- 在 PagerDuty 迁移到 EC2 中的 XtraDB 群集
- 扩展世界杯-Gambify 如何与 2 人组成的团队一起运行大型移动投注应用程序
- 一点点:建立一个可处理每月 60 亿次点击的分布式系统的经验教训
- StackOverflow 更新:一个月有 5.6 亿次网页浏览,25 台服务器,而这一切都与性能有关
- Tumblr:哈希处理每秒 23,000 个博客请求的方式
- 使用 HAProxy,PHP,Redis 和 MySQL 处理 10 亿个请求的简便方法来构建成长型启动架构
- MixRadio 体系结构-兼顾各种服务
- Twitter 如何使用 Redis 进行扩展-105TB RAM,39MM QPS,10,000 多个实例
- 正确处理事情:通过即时重放查看集中式系统与分散式系统
- Instagram 提高了其应用程序的性能。 这是如何做。
- Clay.io 如何使用 AWS,Docker,HAProxy 和 Lots 建立其 10 倍架构
- 英雄联盟如何将聊天扩大到 7000 万玩家-需要很多小兵。
- Wix 的 Nifty Architecture 技巧-大规模构建发布平台
- Aeron:我们真的需要另一个消息传递系统吗?
- 机器:惠普基于忆阻器的新型数据中心规模计算机-一切仍在变化
- AWS 的惊人规模及其对云的未来意味着什么
- Vinted 体系结构:每天部署数百次,以保持繁忙的门户稳定
- 将 Kim Kardashian 扩展到 1 亿个页面
- HappyPancake:建立简单可扩展基金会的回顾
- 阿尔及利亚分布式搜索网络的体系结构
- AppLovin:通过每天处理 300 亿个请求向全球移动消费者进行营销
- Swiftype 如何以及为何从 EC2 迁移到真实硬件
- 我们如何扩展 VividCortex 的后端系统
- Appknox 架构-从 AWS 切换到 Google Cloud
- 阿尔及利亚通往全球 API 的愤怒之路
- 阿尔及利亚通往全球 API 步骤的愤怒之路第 2 部分
- 为社交产品设计后端
- 阿尔及利亚通往全球 API 第 3 部分的愤怒之路
- Google 如何创造只有他们才能创造的惊人的数据中心网络
- Autodesk 如何在 Mesos 上实施可扩展事件
- 构建全球分布式,关键任务应用程序:Trenches 部分的经验教训 1
- 构建全球分布式,关键任务应用程序:Trenches 第 2 部分的经验教训
- 需要物联网吗? 这是美国一家主要公用事业公司从 550 万米以上收集电力数据的方式
- Uber 如何扩展其实时市场平台
- 优步变得非常规:使用司机电话作为备份数据中心
- 在不到五分钟的时间里,Facebook 如何告诉您的朋友您在灾难中很安全
- Zappos 的网站与 Amazon 集成后冻结了两年
- 为在现代时代构建可扩展的有状态服务提供依据
- 细分:使用 Docker,ECS 和 Terraform 重建基础架构
- 十年 IT 失败的五个教训
- Shopify 如何扩展以处理来自 Kanye West 和 Superbowl 的 Flash 销售
- 整个 Netflix 堆栈的 360 度视图
- Wistia 如何每小时处理数百万个请求并处理丰富的视频分析
- Google 和 eBay 关于构建微服务生态系统的深刻教训
- 无服务器启动-服务器崩溃!
- 在 Amazon AWS 上扩展至 1100 万以上用户的入门指南
- 为 David Guetta 建立无限可扩展的在线录制活动
- Tinder:最大的推荐引擎之一如何决定您接下来会看到谁?
- 如何使用微服务建立财产管理系统集成
- Egnyte 体系结构:构建和扩展多 PB 分布式系统的经验教训
- Zapier 如何自动化数十亿个工作流自动化任务的旅程
- Jeff Dean 在 Google 进行大规模深度学习
- 如今 Etsy 的架构是什么样的?
- 我们如何在 Mail.Ru Cloud 中实现视频播放器
- Twitter 如何每秒处理 3,000 张图像
- 每天可处理数百万个请求的图像优化技术
- Facebook 如何向 80 万同时观看者直播
- Google 如何针对行星级基础设施进行行星级工程设计?
- 为 Mail.Ru Group 的电子邮件服务实施反垃圾邮件的猫捉老鼠的故事,以及 Tarantool 与此相关的内容
- The Dollar Shave Club Architecture Unilever 以 10 亿美元的价格被收购
- Uber 如何使用 Mesos 和 Cassandra 跨多个数据中心每秒管理一百万个写入
- 从将 Uber 扩展到 2000 名工程师,1000 个服务和 8000 个 Git 存储库获得的经验教训
- QuickBooks 平台
- 美国大选期间城市飞艇如何扩展到 25 亿个通知
- Probot 的体系结构-我的 Slack 和 Messenger Bot 用于回答问题
- AdStage 从 Heroku 迁移到 AWS
- 为何将 Morningstar 迁移到云端:降低 97%的成本
- ButterCMS 体系结构:关键任务 API 每月可处理数百万个请求
- Netflix:按下 Play 会发生什么?
- ipdata 如何以每月 150 美元的价格为来自 10 个无限扩展的全球端点的 2500 万个 API 调用提供服务
- 每天为 1000 亿个事件赋予意义-Teads 的 Analytics(分析)管道
- Auth0 体系结构:在多个云提供商和地区中运行
- 从裸机到 Kubernetes
- Egnyte Architecture:构建和扩展多 PB 内容平台的经验教训
- 缩放原理
- TripleLift 如何建立 Adtech 数据管道每天处理数十亿个事件
- Tinder:最大的推荐引擎之一如何决定您接下来会看到谁?
- 如何使用微服务建立财产管理系统集成
- Egnyte 体系结构:构建和扩展多 PB 分布式系统的经验教训
- Zapier 如何自动化数十亿个工作流自动化任务的旅程
- Jeff Dean 在 Google 进行大规模深度学习
- 如今 Etsy 的架构是什么样的?
- 我们如何在 Mail.Ru Cloud 中实现视频播放器
- Twitter 如何每秒处理 3,000 张图像
- 每天可处理数百万个请求的图像优化技术
- Facebook 如何向 80 万同时观看者直播
- Google 如何针对行星级基础设施进行行星级工程设计?
- 为 Mail.Ru Group 的电子邮件服务实施反垃圾邮件的猫捉老鼠的故事,以及 Tarantool 与此相关的内容
- The Dollar Shave Club Architecture Unilever 以 10 亿美元的价格被收购
- Uber 如何使用 Mesos 和 Cassandra 跨多个数据中心每秒管理一百万个写入
- 从将 Uber 扩展到 2000 名工程师,1000 个服务和 8000 个 Git 存储库获得的经验教训
- QuickBooks 平台
- 美国大选期间城市飞艇如何扩展到 25 亿条通知
- Probot 的体系结构-我的 Slack 和 Messenger Bot 用于回答问题
- AdStage 从 Heroku 迁移到 AWS
- 为何将 Morningstar 迁移到云端:降低 97%的成本
- ButterCMS 体系结构:关键任务 API 每月可处理数百万个请求
- Netflix:按下 Play 会发生什么?
- ipdata 如何以每月 150 美元的价格为来自 10 个无限扩展的全球端点的 2500 万个 API 调用提供服务
- 每天为 1000 亿个事件赋予意义-Teads 的 Analytics(分析)管道
- Auth0 体系结构:在多个云提供商和地区中运行
- 从裸机到 Kubernetes
- Egnyte Architecture:构建和扩展多 PB 内容平台的经验教训