在 1999 年,Dan Kegel 向網絡服務器提出了一個駭人聽聞的難題:html
是時候讓網絡服務器去同時應對 10000 個客戶端了,你以爲呢?畢竟網絡已經變得很普及了。sql
這就是著名的 C10K 問題。 經過改善操做系統內核和從像 Apache 那樣的線程服務器遷移到像 Nginx, Node 這樣的事件驅動服務器,工程師們解決了這個 C10K 問題。編程
但如今咱們面臨着一個更大的挑戰,若是同時應對一千萬個鏈接呢?要解決這個難題,須要些更變革的技術。segmentfault
在數據中心,服務器管理員們並不須要面對這樣的挑戰,但根據來自紅帽(Red Hat)的 Dave Neary 在最近在 FLOSS Weekly 節目中所說,咱們已經跨過了單個系統管理員管理過萬臺服務器的壁壘。服務器
絕對不是。這樣 200x-2000x 的增加是一個了不得的成就。Dave 回憶說,在九十年代,一個管理員只能管理四五臺微軟的服務器,一個 Linux 的系統管理員也只能管理 50 到 60 臺的服務器。網絡
如今,公司們已經開始用單個系統管理員管理超過 10,000 臺的服務器了,這個巨大的改變深入影響了兩樣事情:1)IaaS,把數據中心改爲彈性的可編程的資源,把操做從基礎設施中分離;2)開發操做革命,它強調工具、文化、自動化、度量、資源共享和基礎設施的編碼;nosql
誰會知道?固然是谷歌公司了。
James Hamilon說,計算服務器的數量是困難的,微軟說,他們有一百萬臺服務器,而後,谷歌的服務器預計會達到一千萬臺,因此咱們離單個系統管理員管理千萬臺服務器的日子還有些遠;工具
可是,當這種狀況發生時,下面所列就是這些系統的基礎:
this
在高層面來講,單個服務器同時應對千萬個鏈接和單個系統管理員同時管理千萬臺機器是同樣的:可擴展性就是一切。google
但在低層面,他們是徹底不同的。處理千萬個鏈接是關於扁平化處理數據,減小層面,單獨本身的事情;而管理千萬臺服務器是關於把智能灌輸到更加智慧的層面;這就很像人類身體內部萬億個個體經過本身的小系統共同協做,而後被平衡化和去中心化的大腦所處理。
原文:We Finally Cracked The 10K Problem - This Time For Managing Servers With 2000x Servers Managed Per Sysadmin
翻譯:SegmentFault