摘要:在孫悟空的七十二變中,我覺得最厲害的是分身能力,這也是他百試不得其爽的終極大招,每每都能打得妖怪摸不著北。集群與分布式集群與分布式像一對孿生兄弟,傻傻分不清楚。所以,集群和分布式之間的關系是相互補充的。
本文首發(fā)于我的公眾號 cloud_dev,專注于干貨分享,號內(nèi)有大量書籍和視頻資源,后臺回復「1024」即可領取,歡迎大家關注,二維碼文末可以掃。
在孫悟空的七十二變中,我覺得最厲害的是分身能力,這也是他百試不得其爽的終極大招,每每都能打得妖怪摸不著北。
集群,學名叫 Cluster,可以翻譯為簇、聚類、集群等多種意思,不同的翻譯,在技術世界里所表示的意思都不盡相同,但都有一個共同的指向,即群體。集群就是由一組計算機所組成的實體,通常作為一個整體向用戶提供資源和服務。
集群的研究和發(fā)展離不開人們對高性能計算的追求,像我們熟悉的向量機、對稱多處理機、工作站、超級計算機等等都是對高性能計算追求下的產(chǎn)物。
這些系統(tǒng)要么是提高 CPU 的主頻和總線帶寬來提高系統(tǒng)性能,要么是增加 CPU 個數(shù)和內(nèi)存容量來提高性能,但這些手段對性能的提高都是有限的。有人做過實驗,當 CPU 個數(shù)超過某一閾值時,系統(tǒng)的性能反而會變差。其主要的瓶頸就在于 CPU 訪問內(nèi)存的帶寬并不能隨著 CPU 個數(shù)的增加而有效增加。
相反,集群系統(tǒng)的性能可擴展能力是線性增長的。我們可以簡單通過增加機器數(shù)來增加集群的運算能力,相比購買高性能的大型計算機,同等運算能力下,我們可以獲得更高的性價比。同時,系統(tǒng)的可靠性也得到了增強。
歷史早在七十年代計算機廠商和研究機構就開始了對集群系統(tǒng)的研究和開發(fā),首先創(chuàng)造性發(fā)明集群的是 Seymour Cray(西摩·克雷)—— 超級計算機之父。
Seymour 是一位美國工程師,在 1960 年代,CDC 公司開始涉足高性能計算領域,彼時還是大型機的天下,這些大型機設計非常復雜,生產(chǎn)周期漫長,價格還非常昂貴。于是,當時在 CDC 公司擔任總設計師的 Seymour 就決心建造出一臺他心目中的高性能計算機。
Seymour 出于工程師的直覺,很快想到并行是提高計算機性能的有效方式。他使用廉價的方式來獲得跟大型機一樣的運算能力。他將多個普通的處理器連接起來,使它們能夠協(xié)同工作,這就是高性能計算機的原型。
后來,IBM、HP 等公司學習了 Seymour 的這套架構,高性能計算機開始迅速推廣,逐步取代原有的大型機。高性能計算機為當時的登月計劃等大型科研項目作出了非常重要的貢獻。
然后進入八十年代,在摩爾定律的指導下,CPU 頻率不斷提高,芯片不斷降價,個人計算機強勢崛起。蘋果、微軟等公司借助這股東風成為個人計算機時代的王者。隨之而來的就是高性能計算機市場遭到了吞噬,被迫只能退守公司服務器市場。
但很快,隨著互聯(lián)網(wǎng)的普及,高性能計算機又迎來新的一波熱潮。互聯(lián)網(wǎng)上用戶量龐大,普通 PC 難以應付如此眾多的網(wǎng)絡請求,必須要依賴由高性能計算機組成的服務器集群。在 2000 年左右的網(wǎng)絡泡沫時期,成就了很多像 Sun 這樣的服務器生產(chǎn)商。
如今,IT 行業(yè)向云計算沖擊,諸如 Google、Apple、Amazon 等很巨頭紛紛建立起了自己的數(shù)據(jù)中心。集群的規(guī)模在不斷擴大,為海量的數(shù)據(jù)提高基礎設施提供了支撐。根據(jù)不同的應用場景,集群也演變出多種形態(tài),比如高性能集群、高可用集群、負載均衡集群等等。
集群元素集群不是簡單的硬件堆疊,而是硬件和軟件的結合。從軟件上說,集群至少需要:
構建于 TCP/IP 協(xié)議上的通信軟件,用于集群中節(jié)點之間的通信。
一套中心管理軟件,用于統(tǒng)一管理集群中節(jié)點的資源、任務和容錯等等。
這兩點比較好理解,集群的規(guī)模往往是比較龐大的,對于管理員來說,需要隨時能夠知曉集群中各節(jié)點的業(yè)務正常與否,出問題了應該怎么保證業(yè)務能夠不中斷,遇到流量高峰和低谷的時候,又該怎么響應,這些操作如果純靠人工來完成那必將很慘烈。依靠軟件和網(wǎng)絡來完成自動化的管理方式,可以將管理員解放出來。當然,以上說的兩點是比較寬泛的,用戶可以根據(jù)自身需求來部署不同的集群元素。
一個比較經(jīng)典的集群模型當屬 Beowulf 集群,它通過一個節(jié)點統(tǒng)一將來自網(wǎng)絡的請求分配給各個節(jié)點進行計算處理。
集群與分布式集群與分布式像一對孿生兄弟,傻傻分不清楚。在我看來,它們之間沒有特別明確的分界線,集群離不開分布式,分布式也需要集群。如果一定要做個區(qū)分,可以套用一個比喻來描述兩者的區(qū)別:
一家餐廳剛開業(yè),由于成本限制招了一個廚師,慢慢地,餐廳生意越做越好,一個廚師已經(jīng)很難應付過來,于是又招了一個,這兩個廚師水平相當,都能做同樣的事,兩個廚師之間的關系就是集群。兩廚師除了炒菜,還要負責洗菜、配菜等等的活,工作負荷已經(jīng)嚴重超標,為了讓廚師能專心炒菜,把菜做到極致,餐廳又招了配菜師來輔助廚師,廚師和配菜師之間的關系就是分布式。
這個例子比較形象,在網(wǎng)站開發(fā)中也有類似的關系,兩個全棧工程師之間就是集群的關系,前端工程師和后端工程師之間就屬于分布式的關系。
所以,一定要有區(qū)分的話就是:集群是一個業(yè)務部署在多個服務器上,而分布式是一個業(yè)務拆分成多個子業(yè)務部署在不同的服務器上。但在實際部署中,為了高性能,需要分布式部署,為了高可用,需要集群部署,這兩者都是業(yè)務所必須的指標。所以,集群和分布式之間的關系是相互補充的。
虛擬化隨著虛擬化技術的發(fā)展,一臺服務器可以虛擬出多個虛擬機,對外提供業(yè)務,這種方式大大提高了資源的利用率,集群的部署也逐步從物理機過渡到虛擬機,靈活性大大提高。但同時也帶來了更多新的研究課題。虛擬化計算、虛擬化存儲、虛擬化網(wǎng)絡、虛擬化安全等等這些課題共同推動著云計算產(chǎn)業(yè)邁出一個又一個的臺階。
數(shù)據(jù)中心數(shù)據(jù)中心是集中存放和運行服務器的地方,是規(guī)模最大的集群。隨著云計算和大數(shù)據(jù)概念的風起云涌,Google、Amazon 等這些明星公司幕后的數(shù)據(jù)中心也開始走入大眾的視野。數(shù)據(jù)中心要求有優(yōu)秀的架構設計、電路設計、空間設計等等,還要有機制能夠應對各種各樣的意外,否則一點小小的失誤,公司的股價恐怕就要跳水。
地理位置的選擇也是數(shù)據(jù)中心考慮的一個指標,隨著綠色數(shù)據(jù)中心概念的興起,越來越多人關注數(shù)據(jù)中心所帶來的能源問題和環(huán)境問題,選擇一個遠離市區(qū),并且能利用天然水源和氣溫的地方,將會為數(shù)據(jù)中心的建設節(jié)約大量的成本。Google 等大公司的數(shù)據(jù)中心就有意放在高緯度、高海拔的地區(qū),以及有湖泊、河流流經(jīng)地區(qū),以享受天然的空調(diào)和冷卻水。
參考[1] 分布式與集群的區(qū)別是什么?
[2] 數(shù)據(jù)中心網(wǎng)絡架構演講
[3] Linux 高性能計算集群
[4] 高性能計算機傳奇
我的公眾號 cloud_dev,號內(nèi)有大量書籍和視頻資源,后臺回復「1024」即可領取,分享的內(nèi)容包括但不限于云計算虛擬化、容器、OpenStack、K8S、霧計算、網(wǎng)絡、工具、SDN、OVS、DPDK、Linux、Go、Python、C/C++編程技術等內(nèi)容,歡迎大家關注。
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://systransis.cn/yun/25509.html
摘要:線程線程,有時被稱為輕量級進程,,是程序執(zhí)行流的最小單元。進程和線程區(qū)別進程是資源分配的基本單位。說得簡單點,下面這段代碼執(zhí)行的時候參考博文進程與線程的一個簡單解釋多線程和多進程的區(qū)別小結多線程還是多進程的選擇及區(qū)別加鎖 關于進程與線程的簡單理解(以工廠舉例:cup-》工廠,車間-》進程,線程-》工人),可以參考阮一峰的博文進程與線程的一個簡單圖文解釋 先來了解下進程和線程的概念關于多...
摘要:大家好,我是悟空呀上兩篇講解源碼的文章過于硬核領導讓我研究源碼啟動過程領導叕讓我研究源碼注冊過程本篇將會給大家講解我在本地搭建的集群環(huán)境下,控制臺的參數(shù)說明。目前悟空我的機器上顯示的個。悟空我的本機是往進行注冊了。 大家好,我是悟空呀~上兩篇講解 Eureka 源碼的文章過于硬核:領導讓我研究 Eureka 源...
閱讀 1644·2023-04-26 01:54
閱讀 1659·2021-09-30 09:55
閱讀 2682·2021-09-22 16:05
閱讀 1898·2021-07-25 21:37
閱讀 2655·2019-08-29 18:45
閱讀 1920·2019-08-29 16:44
閱讀 1911·2019-08-29 12:34
閱讀 1384·2019-08-23 14:02