成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Stack Overflow架構揭秘(軟硬件、人員、數字)

原創
運維 系統運維
從2009年到今天,Stack Overflow的架構已發生了很大的變化。Stack Overflow是全球IT界最受歡迎的技術問答網站之一,目前,其每月不重復的訪問用戶超過1600萬;每月網頁瀏覽量(PV)增長了近6倍,達到9500萬。Stack Overflow的架構是相當公開的,本文對相關資料進行了總結分享。

【51CTO精選譯文】編者按:開發人員和社區類產品/運營工作者應該對Stack Overflow十分熟悉:這是IT界最受歡迎的問答網站之一。隨著Stack Overflow越來越火,該網站在最近幾年也對自身的架構進行了大量的擴展優化。本文作者對Stack Overflow這幾年的架構變遷進行了揭秘。

自從本人在2009年寫了關于Stack Overflow 架構的第一篇文章后,該架構已發生了很大的變化。那篇文章主要介紹了Stack Overflow采取的向上擴展(scale-up)策略,而Stack Overflow在最近幾年得到了全面發展。

Stack Overflow取得了長足發展:規模擴大了一倍多,每月不重復的訪問用戶超過1600萬;每月網頁瀏覽量(PV)增長了近6倍,達到9500萬。

Stack Overflow發展壯大成了 Stack Exchange Network,而這個網絡包括Stack Overflow、Server Fault和Super User等,旗下總共擁有43個網站,而且發展勢頭良好。

但不變的是Stack Overflow在其所作所為方面堅持的開放理念,而這才有了今天這篇文章。最近的一連串帖子主要介紹了Stack Overflow在如何應對增長:《Stack Exchange的架構要點介紹》、《Stack Overflow的紐約數據中心》、《為確保管理和容錯的高擴展性而設計》、《Stack Overflow搜索——現在時間縮短了81%》、《Stack Overflow網絡配置》、《Stack Overflow使用緩存嗎?如果使用,怎么使用?》和《哪些工具和技術構建了Stack Exchange Network?》等。(51CTO編輯注:以上文章均為英文。)

這幾年來比較明顯的一些變化如下:

◆數量更多:更多的用戶、更多的PV、更多的數據中心、更多的站點、更多的開發人員、更多的操作系統、更多的數據庫、更多的機器。

◆Linux:Stack Overflow因使用Windows系列產品而著稱,現在他們使用越來越多的Linux機器,用于HAProxy、Redis、Bacula、Nagios、日志和路由器等系統。所有支持功能似乎都由Linux來處理,這就需要開發并行版本發行流程。

◆容錯:現在為Stack Overflow提供服務的是使用兩條不同互聯網連接的兩只不同交換機,Stack Overflow添加了冗余機器,一些功能已搬遷到第二個數據中心。

◆NoSQL:Redis現用作整個網絡的緩存層。以前沒有獨立的緩存層,所以這是一大變化,使用基于Linux的NoSQL數據庫也是一大變化。

遺憾的是,我沒有找到哪些帖子在介紹我上次提出的一些開放問題,比如Stack Overflow如何處理有著眾多不同屬性的多租戶架構,不過我們還是可以從許多方面來了解。下面是收集的一些信息:

統計數字

◆每月網頁瀏覽量9500萬次

◆每秒800個HTTP請求

◆每秒180個DNS請求

◆每秒55兆位

◆1600萬個用戶——Stack Overflow的流量在2010年增長了131%,全球每月不重復訪客增至1660萬人。

數據中心

Stack Overflow網絡架構
Stack Overflow網絡架構

◆1個機架放在俄勒岡州的Peak Internet(用于放置chat和Data Explorer)

◆2個機架放在紐約州的Peer 1(用于放置Stack Exchange Network的其余部分)

硬件

◆10臺戴爾R610 IIS Web服務器(3臺專門用于Stack Overflow)

◆1個英特爾至強處理器E5640,2.66 GHz四核,8線程

◆16 GB內存

◆Windows Server 2008 R2

◆2臺戴爾R710數據庫服務器:

◆2個英特爾至強處理器X5680,3.33 GHz

◆64 GB內存

◆8個硬盤

◆SQL Server 2008 R2

◆2臺戴爾R610 HAProxy服務器:

◆1個英特爾至強處理器E5640,2.66 GHz

◆4 GB內存

◆Ubuntu Server

◆2臺戴爾R610 Redis服務器:

◆2個英特爾至強處理器E5640,2.66 GHz

◆16 GB內存

◆CentOS

◆1臺戴爾R610 Linux備份服務器,運行Bacula:

◆1個英特爾至強處理器E5640,2.66 GHz

◆32 GB內存

◆1臺戴爾R610 Linux管理服務器,用于Nagios和日志:

◆1個英特爾至強處理器E5640,2.66 GHz

◆32 GB內存

◆2個戴爾R610 VMWare ESXi域控制器:

◆1個英特爾至強處理器E5640,2.66 GHz

◆16 GB內存

◆2只Linux路由器

◆5只戴爾Power Connect交換機

開發工具

◆編程語言:C#

◆集成開發環境(IDE):Visual Studio 2010團隊套件

◆框架:微軟ASP.NET(版本4.0)

◆Web框架:ASP.NET MVC 3

◆視圖引擎:Razor

◆瀏覽器框架:jQuery 1.4.2

◆數據訪問層:LINQ to SQL,一些原始SQL

◆源碼控制:Mercurial和Kiln

◆比較工具:Beyond Compare 3

使用的軟件和技術

◆Stack Overflow通過BizSpark,使用WISC堆棧

◆操作系統:Windows Server 2008 R2 x64

◆數據庫:運行微軟Windows Server 2008企業版x64的SQL Server 2008 R2

Ubuntu Server

CentOS

◆Web 服務器:IIS 7.0

◆HAProxy:用于負載均衡

◆Redis:用作分布式緩存層

◆CruiseControl.NET:用于代碼構建和自動化部署

◆Lucene.NET:用于搜索

◆Bacula:用于備份

◆Nagios:(n2rrd和drraw插件)用于監控

◆Splunk:用于日志

◆SQL Monitor:Red Gate公司提供,用于SQL Server監控

◆Bind:用于DNS

◆Rovio:一個小巧的機器人(真正的機器人),讓遠程開發人員可以通過“虛擬方式”訪問辦公室。

◆Pingdom:外部監控和警報服務網站

推薦閱讀:國外十大流行的服務器監控工具(外篇)

#p#

外部組件

不是作為開發工具一部分而包括的代碼:

◆reCAPTCHA

◆DotNetOpenId

◆WMD——現在作為開源而開發。詳見github網絡圖

◆Prettify

◆Google Analytics

◆Cruise Control .NET

◆HAProxy

◆Cacti

◆MarkdownSharp

◆Flot

◆Nginx

◆Kiln

◆內容分發網絡(CDN):無,所有靜態內容從sstatic.net來提供,這個快速的、無cookie的域用于將靜態內容分發到Stack Exchange系列網站。

開發人員和系統管理員

◆14名開發人員

◆2名系統管理員

內容

◆許可證:Creative Commons Attribution-Share Alike 2.5 Generic

◆標準:OpenSearch,Atom

◆主機:PEAK Internet

架構的更多信息和汲取的經驗

◆使用了Proxy,而不是使用Windows網絡負載均衡(NLB),因為HAProxy成本低廉、易于使用,還是免費的;而且通過Hyper-V,很適合作為網絡上的一個512M虛擬機“設備”。它還在服務器的前端工作,所以對服務器來說完全透明;而且作為不同的網絡層,更容易排除故障,而不是與你的所有窗口配置混雜在一起。

◆沒有使用CDN,因為與捆綁在現有主機方案中的帶寬相比,連亞馬遜CDN這樣“便宜的”CDN其費用都非常昂貴。按照亞馬遜的CDN費率和Stack Overflow的帶寬使用量,每月至少要付1000美元。

◆備份到磁盤上,便于快速恢復;備份到磁帶上,便于歷史歸檔。

◆SQL Server的全文搜索機制集成度非常差,問題多多,功能很弱,所以Stack Overflow改用了Lucene。

◆最受關注的是峰值HTTP請求數字,因為這正是他們需要確保能處理的方面。

◆所有屬性如今都在同一個Stack Exchange平臺上運行。那意味著Stack Overflow、Super User、Server Fault、Meta、WebApps和Meta Web Apps都在同一個軟件上運行。

◆有一些獨立的StackExchange站點,因為人們擁有不同的專業技能,這些技能并不適用于不同的主題站點。你也許是世界上最出色的大廚,但并不是說你就有能力修復服務器。

◆Stack Overflow盡量把一切都放到緩存中。

◆匿名用戶訪問的所有頁面通過輸出緩存(Output Caching)放到緩存中,隨后提供給匿名用戶。

◆每個站點有三種不同的緩存:本地緩存、站點緩存和全局緩存。

◆本地緩存:只能通過1對服務器/站點來訪問。

◆為了限制網絡延遲時間,Stack Overflow使用了本地“一級”緩存(基本上是HttpRuntime.Cache),緩存服務器上最近設定/讀取的值。這樣就可以把網絡上的緩存查找開銷減小至0字節。

◆緩存里面含有用戶會話和等待的視圖數更新等內容。

◆緩存完全駐留在內存中,沒有網絡或數據庫訪問。

◆站點緩存:可以由一個站點(任何服務器上)的任何實例來訪問。

◆大部分緩存的值進入到這里,熱點問題ID列表和用戶驗收率就是兩個典例。

◆緩存駐留在Redis(位于不同的數據庫,純粹為了易于調試)。

◆Redis的速度很快,緩存查找中速度最慢的部分就是讀取字節并寫到網絡上。

◆值被發送到Redis之前先進行壓縮。Stack Overflow有許多處理器,大部分數據是字符串,所以得到的壓縮比很高。

◆Redis機器上的處理器使用率為0%。

◆全局緩存:全局緩存被所有站點和服務器共享。

◆緩存內容包括收件箱、API使用限額和另外幾項真正全局的內容。

◆緩存駐留在Redis中(位于數據庫0,同樣為了易于調試)。

◆緩存中的大部分項目在超時(通常是幾分鐘)后過期,從來不被明確刪除。需要宣布某個特定的緩存項目無效時,他們使用Redis消息傳遞機制,向“一級”緩存發布刪除通知。

◆知名軟件工程師、Fog Creek Software公司首席執行官Joel Spolsky不是微軟的忠誠分子,他并不為Stack Overflow做出技術決策,認為微軟的許可證是個舍入誤差。

◆Stack Overflow為自己的輸入/輸出系統選擇了英特爾X25固態硬盤組成的RAID 10陣列。這個RAID陣列消除了可靠性方面的任何問題;與FusionIO相比,固態硬盤的性能確實很好,而價格又便宜得多。

◆微軟許可證的總標價約為24.2萬美元。由于Stack Overflow使用Bizspark,所以沒在支付總標價,但他們能付的最多也就這么多。

◆英特爾網卡取代了博通網卡和主生產服務器。這解決了他們之前面臨的問題:連接中斷、數據包丟失和地址解析協議(ARP)表損壞。

【51CTO.com譯文,轉載請注明原文作譯者和出處。】

原文:Stack Overflow Architecture Update - Now At 95 Million Page Views A Month

【編輯推薦】

  1. 系統管理員的軟硬件維護清單
  2. 淺談如何將NoSQL引入現有架構系統
  3. 大型網站運維之道漫談
責任編輯:yangsai 來源: 51CTO.com
相關推薦

2015-11-12 10:42:12

2010-01-11 10:25:08

Linux軟硬件配置

2010-04-23 10:30:16

實現負載均衡

2015-08-19 10:25:35

格力董明珠手機

2012-06-19 10:34:36

微軟surface平板

2017-08-14 13:40:34

VDI軟硬件IT

2021-01-14 08:00:00

服務器數據中心DokuWiki

2021-11-15 10:26:44

函數計算架構

2010-05-12 15:11:18

華夏擎工作組LOGO有獎征集

2012-05-29 09:20:11

微軟鼠標

2012-07-18 17:06:36

Gartner云計算

2010-09-26 15:47:04

Oracle

2009-12-23 09:37:38

集線器故障

2012-05-14 11:40:42

ARMWin8Intel

2010-08-24 10:47:58

2009-12-31 08:59:58

Windows 7認證列表

2018-11-06 14:09:54

華為云

2009-06-04 09:14:28

2011-06-17 11:15:13

AndroidAndroid 3.0平板電腦
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99免费在线观看 | 青青久久 | 欧美一级视频免费看 | 久久精品国产精品青草 | 亚洲a在线视频 | 日韩精品久久 | 亚洲在线 | 成人精品一区二区 | 成人亚洲性情网站www在线观看 | 国产精品视频久久久久 | 国产日韩欧美一区二区 | 丝袜久久 | 午夜视频在线观看网站 | 国产乱肥老妇国产一区二 | 久久美女网 | 久久久久久久久久性 | 蜜桃官网| 国产91丝袜在线18 | 成人国产精品免费观看 | 婷婷色国产偷v国产偷v小说 | 欧美在线网站 | 亚洲一区二区高清 | 成人久久一区 | 一级片在线视频 | 欧美欧美欧美 | 一区二区三区国产在线观看 | 国产一区91精品张津瑜 | 日本一区二区高清视频 | 欧美黑人巨大videos精品 | 午夜精品一区 | 亚洲综合天堂 | 亚洲精选一区二区 | 免费在线观看黄色av | 91在线免费视频 | 久久国产精品久久久久 | 亚洲精品成人网 | 精品伊人久久 | 人人性人人性碰国产 | 成人在线免费视频 | 一区二区三区欧美在线观看 | 91精品久久久久久久久中文字幕 |