# 堆棧溢出體系結構更新-現在每月有 9500 萬頁面瀏覽量
> 原文: [http://highscalability.com/blog/2011/3/3/stack-overflow-architecture-update-now-at-95-million-page-vi.html](http://highscalability.com/blog/2011/3/3/stack-overflow-architecture-update-now-at-95-million-page-vi.html)

自從我的第一篇關于 [Stack Overflow Architecture](/blog/2009/8/5/stack-overflow-architecture.html) 的文章以來發生了很多事情。 與上一篇文章的主題相反,該主題引起了人們對 Stack Overflow 致力于擴大規模戰略的關注,但在過去的幾年中,Stack Overflow 不斷發展壯大。
Stack Overflow 的規模增長了兩倍以上,超過 1600 萬用戶,其頁面瀏覽量幾乎翻了六倍,達到每月 9500 萬頁面瀏覽量。
堆棧溢出通過擴展到[堆棧交換網絡](http://stackexchange.com/)而得以發展,該網絡包括堆棧溢出,服務器故障和超級用戶(總共 43 個不同站點)。 進行著很多富有成果的乘法。
不變的是,Stack Overflow 對他們正在做的事情持開放態度。 這就是促使進行此更新的原因。 最近的一系列帖子討論了他們如何處理增長問題:[堆棧交換的體系結構以[項目符號]](http://blog.serverfault.com/post/stack-exchanges-architecture-in-bullet-points/) , [Stack Overflow 的紐約數據中心](http://blog.serverfault.com/2010/10/29/1432571770/),[為可伸縮性而設計 管理和容錯](http://blog.serverfault.com/post/1097492931/),[堆棧溢出搜索-現在](http://blog.stackoverflow.com/2011/01/stack-overflow-search-now-81-less-crappy/),[堆棧溢出網絡配置](http://blog.stackoverflow.com/2010/01/stack-overflow-network-configuration/),[減少 81%StackOverflow 是否使用緩存?如果使用緩存,如何使用緩存?](http://meta.stackoverflow.com/questions/69164/does-stackoverflow-use-caching-and-if-so-how) ,[哪些工具和技術構建了堆棧交換網絡?](http://meta.stackoverflow.com/questions/10369/which-tools-and-technologies-build-the-stack-exchange-network) 。
跨時間的一些更明顯的差異是:
* **更多**。 更多用戶,更多頁面視圖,更多數據中心,更多站點,更多開發人員,更多操作系統,更多數據庫,更多機器。 的數量更多。
* **Linux** 。 堆棧溢出以其 Windows 堆棧而聞名,現在他們將更多的 Linux 機器用于 HAProxy,Redis,Bacula,Nagios,日志和路由器。 所有支持功能似乎都由 Linux 處理,這需要開發[并行發布過程](http://blog.serverfault.com/post/1097492931/)。
* **容錯**。 現在,堆棧溢出(HTG2)由兩個不同 Internet 連接上的兩個不同交換機提供服務,它們添加了冗余計算機,并且某些功能已移至另一個數據中心。
* **NoSQL** 。 Redis 現在用作整個網絡的[緩存層](http://meta.stackoverflow.com/questions/69164/does-stackoverflow-use-caching-and-if-so-how)。 之前沒有單獨的緩存層,所以這是一個很大的變化,就像在 Linux 上使用 NoSQL 數據庫一樣。
不幸的是,我找不到關于我上次遇到的一些未解決問題的報道,例如它們將如何處理這么多不同屬性的多租戶,但仍然有很多值得學習的地方。 這里匯總了一些不同的來源:
### 統計資料
* 每月 9500 萬頁面瀏覽量
* 每秒 800 個 HTTP 請求
* 180 個 DNS 請求每秒
* 每秒 55 兆位
* 1600 萬用戶-流量向堆棧溢出的流量在 2010 年增長了 131%,達到每月 1,660 萬全球唯一身份用戶。
### 數據中心
* 1 個帶有 Peak Internet 的機架(或)(托管我們的聊天和數據資源管理器)
* 2 個在紐約擁有對等 1 的機架(托管其余的 Stack Exchange Network)
### 硬件
* 10 臺 Dell R610 IIS Web 服務器(其中 3 臺專用于堆棧溢出):
* 1 個 Intel Xeon 處理器 E5640 @ 2.66 GHz 四核,帶 8 個線程
* 16 GB RAM
* Windows Server 2008 R2
* 2 臺 Dell R710 數據庫服務器:
* 2 個 Intel Xeon 處理器 X5680 @ 3.33 GHz
* 64 GB 內存
* 8 錠
* SQL Server 2008 R2
* 2 臺 Dell R610 HAProxy 服務器:
* 1 個 Intel Xeon 處理器 E5640 @ 2.66 GHz
* 4 GB 內存
* Ubuntu 服務器
* 2 臺 Dell R610 Redis 服務器:
* 2 個 Intel Xeon 處理器 E5640 @ 2.66 GHz
* 16 GB RAM
* CentOS 的
* 1 臺運行 Bacula 的 Dell R610 Linux 備份服務器:
* 1 個 Intel Xeon 處理器 E5640 @ 2.66 GHz
* 32 GB 內存
* 1 臺用于 Nagios 和日志的 Dell R610 Linux 管理服務器:
* 1 個 Intel Xeon 處理器 E5640 @ 2.66 GHz
* 32 GB 內存
* 2 個 Dell R610 VMWare ESXi 域控制器:
* 1 個 Intel Xeon 處理器 E5640 @ 2.66 GHz
* 16 GB RAM
* 2 個 Linux 路由器
* 5 個 Dell Power Connect 交換機
### 開發工具
* **C#**:語言
* **Visual Studio 2010 Team Suite** : IDE
* **Microsoft ASP.NET(4.0 版)** :框架
* **ASP.NET MVC 3** : Web 框架
* **剃刀** :視圖引擎
* **jQuery 1.4.2** :瀏覽器框架:
* **LINQ to SQL,一些原始 SQL** :數據訪問層
* **水銀和窯** :源代碼管理
* **Beyond Compare 3** :比較工具
### 使用的軟件和技術
* 堆棧溢出通過 [BizSpark](http://blog.stackoverflow.com/2009/03/stack-overflow-and-bizspark/) 使用 [WISC](http://stackoverflow.com/questions/177901/what-does-wisc-stack-mean) 堆棧
* **Windows Server 2008 R2 x64** :操作系統
* **運行 **Microsoft Windows Server 2008 Enterprise Edition x64** 的 SQL Server 2008 R2** :數據庫
* Ubuntu 服務器
* CentOS 的
* **IIS 7.0** :Web 服務器
* **HAProxy** :用于負載均衡
* **Redis** :用作分布式緩存層。
* **CruiseControl.NET** :用于構建和自動部署
* **Lucene.NET** :進行搜索
* **Bacula** :用于備份
* **Nagios** :(帶有 [n2rrd](http://n2rrd.diglinks.com/cgi-bin/trac.fcgi) 和 drraw 插件)用于監視
* **Splunk:**用于日志
* **SQL Monitor:來自 Red Gate 的**-用于 SQL Server 監視
* **綁定**:用于 DNS
* **[Rovio](http://www.wowwee.com/en/products/tech/telepresence/rovio/rovio)** :一個小機器人(真正的機器人),允許遠程開發人員“虛擬地”訪問辦公室。
* **Pingdom** :外部監視器和警報服務。
### 外部鉆頭
開發工具中未包含的代碼:
* 驗證碼
* DotNetOpenId
* WMD-現在已開發為開源。 見 github 網絡圖
* 美化
* 谷歌分析
* 巡航控制.NET
* HAProxy
* 仙人掌
* 降價銳利
* 美麗
* Nginx 的
* 窯
* CDN:無,所有靜態內容均由 [sstatic.net](http://sstatic.net/) 提供,這是一個快速,無 cookie 的域,用于將靜態內容傳遞給 Stack Exchange 系列網站。
### 開發人員和系統管理員
* 14 個開發人員
* 2 個系統管理員
### 內容
* **許可:**知識共享署名-相同方式共享份額為 2.5
* **標準:** OpenSearch,Atom
* **主持人:** PEAK Internet
### 更多架構和經驗教訓
* 使用 HAProxy 而不是 Windows NLB,因為 HAProxy 便宜,簡單,免費,可通過 Hyper-V 用作網絡上的 512MB VM``設備''。 它也可以在盒子前面使用,因此對它們完全透明,并且更容易作為另一個網絡層進行故障排除,而不必與所有 Windows 配置混在一起。
* 不使用 CDN 是因為,即使像亞馬遜這樣的“便宜” CDN 相對于捆綁到現有主機計劃中的帶寬而言也非常昂貴。 根據 Amazon 的 CDN 費率和帶寬使用情況,他們每月至少可以支付 1000 美元。
* 備份到磁盤以進行快速檢索,而備份到磁帶以進行歷史存檔。
* SQL Server 中的全文本搜索集成度很差,有故障,非常不稱職,因此他們選擇了 Lucene。
* 人們對峰值 HTTP 請求數據最感興趣,因為這是他們確保可以處理的需求。
* 現在,所有屬性都在相同的 Stack Exchange 平臺上運行。 這意味著堆棧溢出,超級用戶,服務器故障,元,WebApp 和元 Web 應用都在同一軟件上運行。
* 有單獨的 StackExchange 網站,因為人們有不同的專業知識集,不應跨入不同的主題網站。 [您可以成為世界上最偉大的廚師,但這并不意味著您有資格修理服務器。](http://meta.stackoverflow.com/questions/69422/why-separate-stack-exchange-accounts)
* 他們積極地緩存一切。
* 通過[輸出緩存](http://learn.iis.net/page.aspx/154/walkthrough-iis-70-output-caching/)緩存匿名用戶訪問(并隨后提供給匿名用戶)的所有頁面。
* 每個站點都有 3 個不同的緩存:本地,站點,全局。
* **本地緩存**:只能從 1 個服務器/站點對訪問
* 為了限制網絡延遲,他們使用服務器上最近設置/讀取的值的本地“ L1”緩存,基本上是 HttpRuntime.Cache。 這會將網絡上的高速緩存查找開銷減少到 0 字節。
* 包含用戶會話和未決視圖計數更新之類的內容。
* 它完全駐留在內存中,沒有網絡或數據庫訪問權限。
* **網站緩存**:單個網站的任何實例(在任何服務器上)都可以訪問
* 大多數緩存的值都在這里,諸如熱門問題 ID 列表和用戶接受率之類的例子就是很好的例子
* 它駐留在 Redis 中(在一個單獨的數據庫中,純粹是為了簡化調試)
* Redis 是如此之快,以至于緩存查找最慢的部分就是花費的時間在網絡上讀寫字節。
* 將值壓縮后再將其發送到 Redis。 它們具有大量的 CPU,并且大多數數據是字符串,因此它們具有很高的壓縮率。
* 他們的 Redis 計算機上的 CPU 使用率為 0%。
* **全局緩存**:在所有站點和服務器之間共享
* 收件箱,API 使用配額和其他一些真正的全局信息都在這里
* 它位于 Redis 中(在 DB 0 中,同樣也便于調試)
* 緩存中的大多數項目會在超時時間(通常為幾分鐘)后過期,并且永遠不會明確刪除。 當需要特定的緩存失效時,他們使用 [Redis 消息](http://code.google.com/p/redis/wiki/PublishSubscribe)將刪除通知發布到“ L1”緩存。
* 喬爾·斯波斯基(Joel Spolsky)不是 Microsoft 的忠實擁護者,他沒有為 Stack Overflow 做出技術決策,并且認為 Microsoft 授權存在舍入錯誤。 考慮自己已更正 [Hacker News 評論員](http://news.ycombinator.com/item?id=2284900)。
* 他們為 IO 系統[選擇了](http://blog.serverfault.com/post/our-storage-decision/) RAID 10 陣列,其中 [Intel X25 固態驅動器](http://www.intel.com/design/flash/nand/extreme/index.htm)。 RAID 陣列緩解了對可靠性的任何擔憂,并且與 FusionIO 相比,SSD 驅動器的性能確實很好,且價格便宜得多。
* 他們的 Microsoft 許可的[全船費用](http://news.ycombinator.com/item?id=2285931)約為$ 242K。 由于 Stack Overflow 使用的是 Bizspark,因此他們所支付的價格接近全價,但這是他們所能支付的最高價。
* [英特爾 NIC 正在取代 Broadcom NIC](http://blog.serverfault.com/post/broadcom-die-mutha/) 及其主要生產服務器。 這解決了他們在連接丟失,數據包丟失和 arp 表損壞時遇到的問題。
## 相關文章
* [此帖子上的黑客新聞主題](http://news.ycombinator.com/item?id=2284900) / [Reddit 主題](http://www.reddit.com/r/programming/comments/fwpik/stackoverflow_scales_using_a_mixture_of_linux_and/)
* [項目符號中的堆棧交換體系結構](http://blog.serverfault.com/post/stack-exchanges-architecture-in-bullet-points/) / [HackerNews 線程](http://news.ycombinator.com/item?id=2207789)
* [Stack Overflow 的紐約數據中心](http://blog.serverfault.com/post/1432571770/)-各種計算機的硬件是什么?
* [設計用于管理和容錯的可伸縮性](http://blog.serverfault.com/post/1097492931/)
* [堆棧溢出博客](http://blog.stackoverflow.com/)
* [堆棧溢出搜索-現在減少了 81%的廢話](http://blog.stackoverflow.com/2011/01/stack-overflow-search-now-81-less-crappy/)-Lucene 現在正在未充分利用的集群上運行。
* [2010 年堆棧狀態(您的 CEO 的來信)](http://blog.stackoverflow.com/2011/01/state-of-the-stack-2010-a-message-from-your-ceo/)
* [堆棧溢出網絡配置](http://blog.stackoverflow.com/2010/01/stack-overflow-network-configuration/)
* [StackOverflow 是否使用緩存?如果使用緩存,如何使用緩存?](http://meta.stackoverflow.com/questions/69164/does-stackoverflow-use-caching-and-if-so-how)
* [Meta StackOverflow](http://meta.stackoverflow.com/)
* [StackOverflow 如何處理緩存失效?](http://meta.stackoverflow.com/questions/6435/how-does-stackoverflow-handle-cache-invalidation)
* [哪些工具和技術構建了堆棧交換網絡?](http://meta.stackoverflow.com/questions/10369/which-tools-and-technologies-build-the-stack-exchange-network)
* [堆棧溢出如何處理垃圾郵件?](http://meta.stackoverflow.com/questions/2765/how-does-stack-overflow-handle-spam)
* [我們的存儲決策](http://blog.serverfault.com/post/our-storage-decision/)
* [如何選擇“熱門”問題?](http://meta.stackoverflow.com/questions/4766/how-are-hot-questions-selected)
* [如何選擇“相關”問題?](http://meta.stackoverflow.com/questions/20473/how-are-related-questions-selected) -標題,問題正文和標簽。
* [堆棧溢出和 DVCS](http://blog.stackoverflow.com/2010/04/stack-overflow-and-dvcs/) -堆棧溢出選擇 Mercurial 進行源代碼控制。
* [服務器故障聊天室](http://chat.stackexchange.com/rooms/127/the-comms-room)
* [C#Redis 客戶端](https://github.com/ServiceStack/ServiceStack.Redis)
* [Broadcom,Die Mutha](http://blog.serverfault.com/post/broadcom-die-mutha/)
他們是否解釋了為什么使用 Redis 而不是 Memcached 進行緩存? 我聽說很多人使用 Redis 進行緩存,只是想知道 Redis 做什么,而 Memcached 不會呢?
如果我沒記錯的話,Redis 不是分布式數據庫,對嗎? 使用 memcached 時,如果我添加新節點,客戶端將自動重新分發緩存,以利用額外的容量。 Redis 不會那樣做。 那么,為什么要使用 Redis?
> 備份到磁盤以進行快速檢索,而備份到磁帶以進行歷史存檔。
真? 人們還在這樣做嗎? 我知道一些組織在自動化的自動磁帶備份上投入了大量資金,但是說真的,一個成立于 2008 年的網站正在備份磁帶嗎?
為什么有人會在 Linux / Linux 上使用 Windows / asp?
我真的很驚訝人們仍然在做這樣的事情。
*為什么有人會在 Linux / Linux 上使用 Windows / asp?
確實讓我感到驚訝的是,人們仍然在做這樣的事情。*
因為.NET 是目前最好的開發框架之一。 而且用于網絡的 linux 便宜,因此結合起來很有意義。
@約翰
使用 Redis 或 membase 之類的東西而不是 memcached 的優點之一是可以將緩存持久化到磁盤上,這樣可以避免緩存脫機然后重新啟動時出現緩存風暴問題。
我猜我們不知道 Redis 框的配置是什么 他們是分片,進行主/從復制等嗎?
安迪
@Joe,如果您知道自己的想法,那么邏輯就很容易:Joel 是 MS Excel 團隊的成員,該團隊編寫了 VBA 和 OLE 自動化。
@Joe-這是我在該網站上看到的最不明智的評論之一。
詹姆斯:備份到磁帶意味著脫機/檔案備份。 這通常是值得的花費和麻煩,特別是對于大型重要數據集。 一兩三周后,我可以告訴您,Gmail 員工非常非常高興他們備份到磁帶上。 如果您的所有副本都在線,則總是存在一個錯誤或手指滑動同時擦拭它們的可能性。
從技術上講,IIS 7.0:Web 服務器不正確,在 Windows Server 2008R2 下,它實際上是 IIS 7.5:Web 服務器。
@Sosh-請放輕松,不要提升自己對 Microsoft 產品的支持。 在最好和最新的開源公司及其社區中運行 MS 產品沒有技術上的原因。 實際上,要真正推動這一點,StackOverflow 團隊應該在各地使用更多*付費/許可*的 ms 產品來推動其發展。 還有一種觀點認為,可以針對工作使用最佳工具組合,因此請參見此處。 答案很簡單:StackOverflow 團隊了解 MS 產品,Visual Studio,C#和.NET,因此(對于該團隊而言)交付 StackExchange 系列站點是最便宜,最快的。 ^ M
他們有明確的績效目標嗎? 他們如何在負載下監視站點性能? 對于在 HighScalability.com 上進行介紹的任何網站,這些問題似乎都是重要的問題。
是的,大多數擁有重要數據的人仍然使用磁帶。 另外,它們是 Windows,因為創始人是微軟的老家伙!
**[僅使用更好的應用程序,您可以避免軟件許可和網絡硬件成本。 伺服器:](http://nbonvin.wordpress.com/2011/03/24/serving-small-static-files-which-server-to-use/ "You can avoid software license AND network hhardware costs by just using a better app. server")**
每秒服務器請求
---------------------------------------------
G-WAN Web 服務器....... 142,000
Lighttpd Web 服務器........ 60,000
Nginx Web 服務器............ 57,000
Varnish 緩存服務器....... 28,000
SQL Server 2008 R2 Standard 或 Enterprise Edition?
“現在他們正在為 HAProxy Redis 使用更多的 Linux 計算機,”
http://redis.io/clients
Windows 上運行的 C#如何與 Linux 上的 Redis 對話?
- 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 內容平臺的經驗教訓