# 新的文物建筑-每天收集 20 億多個指標
> 原文: [http://highscalability.com/blog/2011/7/18/new-relic-architecture-collecting-20-billion-metrics-a-day.html](http://highscalability.com/blog/2011/7/18/new-relic-architecture-collecting-20-billion-metrics-a-day.html)

*這是 New Relic 應用性能工程師 [Brian Doll](/cdn-cgi/l/email-protection#0e6c7c676f604e606b797c6b62676d206d6163) 的來賓帖子。*
New Relic 的多租戶 SaaS Web 應用程序監視服務持續不斷地每秒收集并保存超過 100,000 個指標,同時仍提供 1.5 秒的平均頁面加載時間。 我們相信,良好的體系結構和良好的工具可以幫助您處理大量數據,同時仍然提供非常快速的服務。 在這里,我們將向您展示我們如何做到的。
* 新遺物是應用程序性能管理(APM)即服務
* 應用內代理檢測(字節碼檢測等)
* 支持 5 種編程語言(Ruby,Java,PHP,.NET,Python)
* 全球監控超過 175,000 個應用程序進程
* 10,000+客戶
## 統計資料
* 每天收集超過 20 億個應用程序指標
* 每周收集超過 1.7 億個網頁指標
* 每個“時間片”指標約為 250 個字節
* 每秒插入 10 萬個時間片記錄
* 每天有 70 億條新數據行
* 由 9 個分片的 MySQL 服務器處理的數據收集
## 架構概述
* 語言特定的代理(Ruby,Java,PHP..NET,Python)每分鐘一次將應用程序指標發送回 New Relic
* “收集器”服務提取應用程序指標并將其保存在正確的 MySQL 分片中
* 實時用戶監控 javascript 代碼段針對每個頁面瀏覽將前端性能數據發送到“信標”服務
* 客戶登錄 http://rpm.newrelic.com/查看其性能儀表板
* 我們每天收集的數據量驚人。 最初,每個指標均以全分辨率捕獲所有數據。 隨著時間的流逝,我們會對數據進行定期處理,從每分鐘到每小時,再到每天平均。 對于我們的專業帳戶,我們會無限期地存儲每日指標數據,因此客戶可以看到他們在長期內的改進情況。
* 我們的數據策略針對讀取進行了優化,因為我們的核心應用一直需要按時間序列訪問指標數據。 為了使數據保持最佳狀態以實現更快的讀取速度,更容易在寫操作上付出代價,以確保我們的客戶可以在一天中的任何時間快速訪問其性能數據。 通過將客戶分布在多臺服務器上,可以對數據庫進行分片。 在每個服務器中,每個客戶都有單獨的表,以使客戶數據在磁盤上保持緊密并保持每個表的總行數減少。
* New Relic 管理用于監視系統的多種警報。 客戶可以設置其 APDEX 分數和錯誤率的閾值。 New Relic 還具有可用性監視功能,因此客戶可以在短短 30 秒內收到停機事件的警報。 我們主要發送電子郵件警報,使用我們的 PagerDuty.com 集成向多個客戶發送電子郵件,并通過 SMS 集成進行更復雜的通話輪換。
* 讓我們從客戶請求一直到 New Relic 堆棧進行一次 Web 交易。
1. 最終用戶查看 Example.com 上的頁面,該頁面使用 New Relic 監視其應用程序性能
2. 運行 Example.com 的應用程序運行時已安裝了 New Relic 代理(適用于 Ruby,Java,PHP,.NET 或 Python)
3. 為每個事務捕獲詳細的性能指標,包括每個組件花費的時間,數據庫查詢,外部 API 調用等
4. 這些后端指標在客戶的 New Relic 代理中保留最多一分鐘,然后將其發送回 New Relic 數據收集服務。
5. 同時,嵌入在網頁中的是新的 Relic 真實用戶監控 JavaScript 代碼,該代碼可跟蹤這種單一客戶體驗的性能
6. 在客戶的瀏覽器中完全呈現頁面后,New Relic 信標會收到一個請求,其中提供了有關后端,網絡,DOM 處理和頁面呈現時間的性能指標。
7. 在 Example.com 上工作的工程師登錄到 New Relic,并查看了最新的應用程序性能指標以及每位客戶的最終用戶體驗,包括瀏覽器和地理信息。
## 平臺
### 網頁界面
* Ruby on Rails
* Nginx 的
* 的 Linux
* 2 個@ 12 核心 Intel Nehalem CPU 帶 48Gb RAM
### 數據收集器和 Web 信標服務
* 爪哇
* 碼頭上的 Servlet
* 應用指標收集器:每分鐘 180k +請求,在 3 毫秒內響應
* Web 指標信標服務:每分鐘 200k +請求,在 0.15 毫秒內響應
* 使用 Percona 構建的 MySQL 分片
* 的 Linux
* 9 @ 24 核 Intel Nehalem,帶 48GB RAM,SAS 附加 RAID 5
* 裸機(無虛擬化)
### 有趣的 MySQL 統計資料:
* New Relic 每小時為每個帳戶創建一個數據庫表以保存度量標準數據。
* 該表策略針對讀取和寫入進行了優化
* 始終需要在特定的時間窗口內基于特定帳戶的一個或多個指標來繪制圖表
* 指標(指標,代理,時間戳)的主鍵允許來自特定代理的特定指標的數據一起位于磁盤上
* 隨著時間的推移,當創建新表時,這會在 innodb 中創建更多頁面拆分,并且 I / O 操作會在一小時內增加
* 新帳戶將以循環方式分配給特定的分片。 由于某些帳戶比其他帳戶大,因此有時會將分片從分配隊列中拉出,以更均勻地分配負載。
* 由于表中包含如此多的數據,因此無法進行模式遷移。 而是使用“模板”表,從中創建新的時間片表。 新表使用新定義,而最終從系統中清除舊表。 應用程序代碼需要注意多個表定義可能一次處于活動狀態。
## 挑戰性
* 數據清除:匯總指標和清除粒度指標數據是一個昂貴且幾乎連續的過程
* 確定哪些指標可以預先匯總
* 大帳戶:一些客戶擁有許多應用程序,而另一些客戶擁有數量驚人的服務器
* MySQL 優化和調整,包括操作系統和文件系統
* I / O 性能:裸機數據庫服務器,每個帳戶表與大型表的讀取性能
* 負載均衡碎片:大帳戶,小帳戶,高利用率帳戶
## 得到教訓
* New Relic 使用 New Relic 監視自己的服務(臨時監視生產)
* 旨在隨時提高運營效率和簡化操作
* 保持苗條。 New Relic 擁有約 30 名工程師,為 1 萬名客戶提供支持
* 時髦!=可靠:高性能系統有許多重要但無聊的方面,但并不是所有時髦的解決方案都可以解決。
* 使用合適的技術來完成工作。 New Relic 主要 Web 應用程序始終是 Rails 應用程序。 數據收集層最初是用 Ruby 編寫的,但最終被移植到 Java。 導致此更改的主要因素是性能。 該層目前每分鐘支持超過 18 萬個請求,并在大約 2.5 毫秒內做出響應,并具有足夠的擴展空間。
## 相關文章
* [如何在僅 9 臺服務器上構建具有類似 Twitter 吞吐量的 SaaS 應用程序](http://www.slideshare.net/newrelic/how-to-build-a-saas-app-with-twitterlike-throughput-on-just-9-servers)作者:Lew Cirne
> >為每個事務捕獲詳細的性能指標,包括在每個組件中花費的時間,數據庫查詢,外部 API 調用等
這種儀器的開銷是多少? 就延遲而言?
感謝您的詳細帖子
幾個問題
1.你做后寫嗎? 有關的任何細節。 哪種工具/技術
2.有關“負載平衡分片”的更多詳細信息將有所幫助
3.為什么選擇 Java 而不是 Rails ...特定的性能原因。
謝謝。
> 在每個服務器中,每個客戶都有單獨的表,以使客戶數據在磁盤上保持緊密并保持每個表的總行數減少。
也許他們不知道文件系統如何工作? 除非您預分配了該塊,否則它將像其他所有文件一樣隨文件的增長而隨機寫入磁盤。 他們似乎認為,通過使用“ innodb_file_per_table”選項將其放入自己的表中并不保證文件會在磁盤上聚集。
@Hrish:“這種檢測的開銷是多少?就延遲而言?”
我們不斷監控儀器的開銷,并確保其開銷盡可能低。 開銷因應用程序而異,但通常在 5%的范圍內。 與不了解生產系統的機會成本相比,這種開銷顯得微不足道。 我已經看到許多公司在使用 New Relic 的短短幾天內就大大縮短了他們的響應時間,因此開銷遠遠超過了其本身。
@Subhash:
1.您是否在后面寫? 有關的任何細節。 哪種工具/技術
不,我們不做后寫。
2.有關“負載平衡分片”的更多詳細信息將有所幫助
我們采用經典的分片模式,因為客戶指標對他們來說是唯一的,并且我們不需要在各個帳戶之間引用指標。 理想情況下,我們希望將負載分配到每個分片上。 在這種情況下,負載既指數據量(在給定時間段內每個分片接收多少數據),也指查詢量(那些客戶訪問其指標的積極程度)。 我們每個帳戶允許無限數量的用戶,因此某些帳戶有許多用戶一次訪問其性能數據。 我們一起研究這些指標以及諸如 CPU 和內存之類的系統指標,以確定負載在整個分片上的分布情況。
我們以循環方式將新帳戶分配給特定的分片。 這聽起來非常簡單,而且確實如此。 這里的過早優化可能需要付出很大的努力才能進行管理,而帶來的好處卻很小。 您只是無法確定注冊新帳戶后的忙碌程度。 我們會不時注意到特定的分片比其他分片更忙。 這可能是由于新帳戶非常龐大,或者是由于現有帳戶利用率提高。 為了幫助平衡分片,我們只從分配隊列中刪除該分片,因此暫時不會獲得任何新帳戶。 由于我們一直在注冊新帳戶,因此其余的碎片將趕上來,我們將其重新添加。
我已經與幾個為具有類似數據需求的公司在生產中運行分片的人交談過,看來這種方法相當普遍。 正如他們所說,做最簡單的事情就可以了:)
3.為什么選擇 Java 而不是 Rails ...特定的性能原因。
用于數據收集的服務端點已從 Ruby 移植到 Java。 這些服務非常強大,并且不會經常更改。 他們需要從成千上萬個應用程序實例中獲取指標數據,并將其放入正確的分片中的正確的數據庫表中。 除了耐用性,這些保養的最重要特征是原始速度。 使用當前的 ruby 實現,根本不可能與 Java servlet 競爭速度和效率。 我們的 Real User Monitoring 信標服務(作為 Java Servlet 部署)的響應時間為 0.15 毫秒。 十五分之一毫秒! 這是每分鐘 280k +請求。
您特別強調數據庫服務器是裸機。 這是否意味著其他內容已虛擬化?
我很驚訝您確實運行自己的服務器。 我一直以為您是那些早期的云采用者之一。 :)
您是否在單個數據中心中運行? 您如何處理高可用性?
“ [開銷]通常在 5%的范圍內”
除非有人指出執行的檢測程度和檢測到的主要組件的等待時間,即一個非常慢的 Rails 應用程序甚至更慢的數據庫訪問,否則這毫無意義。
與其他產品的單位成本相比,NewRelic 的速度要慢近 10,000-100,000 倍。
http://williamlouth.wordpress.com/2011/03/17/which-ruby-vm-consider-monitoring/
順便說一句,我想知道如何將 NewRelic 下面的屏幕截圖中的多個 SQL 語句打包成 250 個字節。
http://williamlouth.wordpress.com/2010/03/02/does-transaction-tracing-scale-analysis/
我認為您還應該指出,考慮到發送之前在 1 分鐘的示例窗口中對高級度量聚合進行了批處理,因此所測量的頁面數與對服務的入站調用數不同。
如果您打算從事 APM 業務,那么您至少可以嘗試對數字的實際含義和關聯性進行準確和更加透明的了解。
您是否曾經考慮過使用 Mysql Cluster? NDB? 無需分片即可立即獲得巨大的讀取/寫入可擴展性。
我們一直在使用 Galera 群集來處理 1440K 更新,每分鐘有足夠的凈空。
順便說一句,恭喜并感謝您分享非常有用的信息。
- 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 內容平臺的經驗教訓