摘要:在數(shù)據(jù)中心,服務(wù)器管理員們并不需要面對(duì)這樣的挑戰(zhàn),但根據(jù)來自紅帽的在最近在節(jié)目中所說,我們已經(jīng)跨過了單個(gè)系統(tǒng)管理員管理過萬臺(tái)服務(wù)器的壁壘?;貞浾f,在九十年代,一個(gè)管理員只能管理四五臺(tái)微軟的服務(wù)器,一個(gè)的系統(tǒng)管理員也只能管理到臺(tái)的服務(wù)器。
什么是 10K 問題?
在 1999 年,Dan Kegel 向網(wǎng)絡(luò)服務(wù)器提出了一個(gè)駭人聽聞的難題:
是時(shí)候讓網(wǎng)絡(luò)服務(wù)器去同時(shí)應(yīng)對(duì) 10000 個(gè)客戶端了,你覺得呢?畢竟網(wǎng)絡(luò)已經(jīng)變得很普及了。
這就是著名的 C10K 問題。 通過改善操作系統(tǒng)內(nèi)核和從像 Apache 那樣的線程服務(wù)器遷移到像 Nginx, Node 這樣的事件驅(qū)動(dòng)服務(wù)器,工程師們解決了這個(gè) C10K 問題。
但現(xiàn)在我們面臨著一個(gè)更大的挑戰(zhàn),如果同時(shí)應(yīng)對(duì)一千萬個(gè)連接呢?要解決這個(gè)難題,需要些更變革的技術(shù)。
在數(shù)據(jù)中心,服務(wù)器管理員們并不需要面對(duì)這樣的挑戰(zhàn),但根據(jù)來自紅帽(Red Hat)的 Dave Neary 在最近在 FLOSS Weekly 節(jié)目中所說,我們已經(jīng)跨過了單個(gè)系統(tǒng)管理員管理過萬臺(tái)服務(wù)器的壁壘。
我們應(yīng)該忽略這個(gè)里程碑事件嗎?絕對(duì)不是。這樣 200x-2000x 的增長是一個(gè)了不起的成就。Dave 回憶說,在九十年代,一個(gè)管理員只能管理四五臺(tái)微軟的服務(wù)器,一個(gè) Linux 的系統(tǒng)管理員也只能管理 50 到 60 臺(tái)的服務(wù)器。
現(xiàn)在,公司們已經(jīng)開始用單個(gè)系統(tǒng)管理員管理超過 10,000 臺(tái)的服務(wù)器了,這個(gè)巨大的改變深刻影響了兩樣事情:1)IaaS,把數(shù)據(jù)中心改成彈性的可編程的資源,把操作從基礎(chǔ)設(shè)施中分離;2)開發(fā)操作革命,它強(qiáng)調(diào)工具、文化、自動(dòng)化、度量、資源共享和基礎(chǔ)設(shè)施的編碼;
那么需要怎樣才可以令一個(gè)系統(tǒng)管理員就可以管理一千萬臺(tái)服務(wù)器呢?誰會(huì)知道?當(dāng)然是谷歌公司了。
James Hamilon說,計(jì)算服務(wù)器的數(shù)量是困難的,微軟說,他們有一百萬臺(tái)服務(wù)器,然后,谷歌的服務(wù)器預(yù)計(jì)會(huì)達(dá)到一千萬臺(tái),所以我們離單個(gè)系統(tǒng)管理員管理千萬臺(tái)服務(wù)器的日子還有些遠(yuǎn);
但是,當(dāng)這種情況發(fā)生時(shí),下面所列就是這些系統(tǒng)的基礎(chǔ):
把數(shù)據(jù)中心當(dāng)成多帶帶一臺(tái)計(jì)算機(jī)那樣對(duì)待
然后,在數(shù)據(jù)中心內(nèi)部,在計(jì)算機(jī)群上部署可復(fù)用的多維度多重作業(yè),以便提高機(jī)器利用率和節(jié)約金錢
但這僅僅是一個(gè)數(shù)據(jù)中心,這并不是把你從 十 帶到 百萬 臺(tái)服務(wù)器。對(duì)于千萬臺(tái)的服務(wù)器,你必須利用好這些數(shù)據(jù)中心,所以,你要建一個(gè) Spanner 那樣的可以管理百萬臺(tái)機(jī)器、幾百個(gè)數(shù)據(jù)中心和數(shù)萬億個(gè)數(shù)據(jù)項(xiàng)的系統(tǒng);
當(dāng)然,你還需要建造一個(gè)巨型網(wǎng)絡(luò)系統(tǒng),把這些數(shù)據(jù)中心連接在一起;
最后,當(dāng)你真的面臨一個(gè)系統(tǒng)管理員管理千萬臺(tái)的服務(wù)器,你很可能需要付出巨大的精力去做深入的挖掘,使得之前的工作變得有意義。
在高層面來說,單個(gè)服務(wù)器同時(shí)應(yīng)對(duì)千萬個(gè)連接和單個(gè)系統(tǒng)管理員同時(shí)管理千萬臺(tái)機(jī)器是一樣的:可擴(kuò)展性就是一切。
但在低層面,他們是完全不一樣的。處理千萬個(gè)連接是關(guān)于扁平化處理數(shù)據(jù),減少層面,多帶帶自己的事情;而管理千萬臺(tái)服務(wù)器是關(guān)于把智能灌輸?shù)礁又腔鄣膶用?;這就很像人類身體內(nèi)部萬億個(gè)個(gè)體通過自己的小系統(tǒng)共同協(xié)作,然后被平衡化和去中心化的大腦所處理。
原文:We Finally Cracked The 10K Problem - This Time For Managing Servers With 2000x Servers Managed Per Sysadmin
翻譯:SegmentFault
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/7890.html
摘要:問題任一文件句柄的不成功會(huì)阻塞住整個(gè)應(yīng)用。主要解決的前兩個(gè)問題通過一個(gè)數(shù)組向內(nèi)核傳遞需要關(guān)注的事件消除文件句柄上限,同時(shí)使用不同字段分別標(biāo)注關(guān)注事件和發(fā)生事件,來避免重復(fù)初始化。問題逐個(gè)排查所有文件句柄狀態(tài)效率不高。 C10K問題思維導(dǎo)圖 showImg(https://segmentfault.com/img/bVbkrKe?w=1818&h=1276); C10K問題出現(xiàn)前期 大家...
摘要:谷歌在萬臺(tái)機(jī)器的區(qū)間內(nèi),他們中位數(shù)集群尺寸大約在萬臺(tái)機(jī)器,也有一些更大的。谷歌稱,一個(gè)單獨(dú)的其專有的分配集群的首腦在一個(gè)谷歌對(duì)于集群的術(shù)語內(nèi)能管理成千上萬臺(tái)機(jī)器。 【文章簡介】本文討論了單個(gè)容器所無法解決的問題和局限性,并介紹了容器編排的必要性和復(fù)雜性及常用工具的比較,提到了諸如Kubernetes、Mesos等容器管理工具。 就像之前已被證實(shí)的那樣,要在一個(gè)機(jī)器上創(chuàng)建成千上萬個(gè)容器還...
摘要:一個(gè)完整的連接由四個(gè)部分組成源源端口目的目的端口這就是經(jīng)典的四元組。你沒看錯(cuò),服務(wù)器上只消耗這一個(gè)端口。但卻完全可以支撐下面這些連接連接客戶端服務(wù)器連接客戶端服務(wù)器連接非但如此,即使是只有一個(gè)客戶端,也可以向這個(gè)服務(wù)器建立多條連接的。 平時(shí)工作和學(xué)習(xí)中,大家都知道一臺(tái)計(jì)算機(jī)的端口號(hào)總共有65535個(gè),但一臺(tái)計(jì)算機(jī)真的只能建...
閱讀 3905·2021-10-12 10:12
閱讀 1551·2021-10-11 10:58
閱讀 2401·2021-10-09 10:01
閱讀 2687·2021-09-24 09:48
閱讀 2783·2021-09-09 11:38
閱讀 3588·2019-08-30 15:44
閱讀 1808·2019-08-30 14:22
閱讀 600·2019-08-29 12:42