摘要:分布式和集群區(qū)別分布式分布式是指將一個(gè)業(yè)務(wù)拆分不同的子業(yè)務(wù),分布在不同的機(jī)器上執(zhí)行。什么是云計(jì)算平臺(tái)一個(gè)云計(jì)算平臺(tái),就是通過一套軟件系統(tǒng)把分布式部署的資源集中調(diào)度使用。按業(yè)務(wù)的垂直拆庫(kù)和按用戶水平拆表是分布式數(shù)據(jù)庫(kù)中通用的解決方案。
分布式是指將一個(gè)業(yè)務(wù)拆分不同的子業(yè)務(wù),分布在不同的機(jī)器上執(zhí)行,集群是指多臺(tái)服務(wù)器集中在一起,實(shí)現(xiàn)同一業(yè)務(wù),可以視為一臺(tái)計(jì)算機(jī),一個(gè)云計(jì)算平臺(tái),就是通過一套軟件系統(tǒng)把分布式部署的資源集中調(diào)度使用。要應(yīng)對(duì)大并發(fā),要實(shí)現(xiàn)高可用,既需要分布式,也離不開集群。
分布式和集群區(qū)別? 分布式分布式:是指將一個(gè)業(yè)務(wù)拆分不同的子業(yè)務(wù),分布在不同的機(jī)器上執(zhí)行。
集群集群:是指多臺(tái)服務(wù)器集中在一起,實(shí)現(xiàn)同一業(yè)務(wù),可以視為一臺(tái)計(jì)算機(jī)。
多臺(tái)服務(wù)器組成的一組計(jì)算機(jī),作為一個(gè)整體存在,向用戶提供一組網(wǎng)絡(luò)資源,這些單個(gè)的服務(wù)器就是集群的節(jié)點(diǎn)。
兩個(gè)特點(diǎn)可擴(kuò)展性:集群中的服務(wù)節(jié)點(diǎn),可以動(dòng)態(tài)的添加機(jī)器,從而增加集群的處理能力。
高可用性:如果集群某個(gè)節(jié)點(diǎn)發(fā)生故障,這臺(tái)節(jié)點(diǎn)上面運(yùn)行的服務(wù),可以被其他服務(wù)節(jié)點(diǎn)接管,從而增強(qiáng)集群的高可用性。
集群分類常用的集群分類
1.高可用集群(High Availability Cluster)
高可用集群,普通兩節(jié)點(diǎn)雙機(jī)熱備,多節(jié)點(diǎn)HA集群。
2.負(fù)載均衡集群(Load Balance Cluster)
常用的有 Nginx 把請(qǐng)求分發(fā)給后端的不同web服務(wù)器,還有就是數(shù)據(jù)庫(kù)集群,負(fù)載均衡就是,為了保證服務(wù)器的高可用,高并發(fā)。
3.科學(xué)計(jì)算集群(High Performance Computing Cluster)
簡(jiǎn)稱HPC集群。這類集群致力于提供單個(gè)計(jì)算機(jī)所不能提供的強(qiáng)大的計(jì)算能力。
兩大能力負(fù)載均衡:負(fù)載均衡能把任務(wù)比較均衡地分布到集群環(huán)境下的計(jì)算和網(wǎng)絡(luò)資源。
集群容錯(cuò):當(dāng)我們的系統(tǒng)中用到集群環(huán)境,因?yàn)楦鞣N原因在集群調(diào)用失敗時(shí),集群容錯(cuò)起到關(guān)鍵性的作用。
例如 Dubbo 的集群容錯(cuò):
Failover Cluster
失敗自動(dòng)切換,當(dāng)出現(xiàn)失敗,重試其它服務(wù)器,通常用于讀操作,但重試會(huì)帶來更長(zhǎng)延遲。
Failfast Cluster
快速失敗,只發(fā)起一次調(diào)用,失敗立即報(bào)錯(cuò),通常用于非冪等性的寫操作,比如新增記錄。
Failback Cluster
失敗自動(dòng)恢復(fù),后臺(tái)記錄失敗請(qǐng)求,定時(shí)重發(fā),通常用于消息通知操作。
Forking Cluster
并行調(diào)用多個(gè)服務(wù)器,只要一個(gè)成功即返回,通常用于實(shí)時(shí)性要求較高的讀操作,但需要浪費(fèi)更多服務(wù)資源。
簡(jiǎn)單總結(jié)分布式,從狹義上理解,也與集群差不多,但是它的組織比較松散,不像集群,有一定組織性,一臺(tái)服務(wù)器宕了,其他的服務(wù)器可以頂上來。
分布式的每一個(gè)節(jié)點(diǎn),都完成不同的業(yè)務(wù),一個(gè)節(jié)點(diǎn)宕了,這個(gè)業(yè)務(wù)就不可訪問了。
1. 分布式是指將一個(gè)業(yè)務(wù)拆分不同的子業(yè)務(wù),分布在不同的機(jī)器上執(zhí)行。
2. 集群是指多臺(tái)服務(wù)器集中在一起,實(shí)現(xiàn)同一業(yè)務(wù),可以視為一臺(tái)計(jì)算機(jī)。
分布式的每一個(gè)節(jié)點(diǎn),都可以用來做集群。而集群不一定就是分布式了。
什么是云計(jì)算平臺(tái)?一個(gè)云計(jì)算平臺(tái),就是通過一套軟件系統(tǒng)把分布式部署的資源集中調(diào)度使用。要應(yīng)對(duì)大并發(fā),要實(shí)現(xiàn)高可用,既需要分布式,也離不開集群。
比如負(fù)載均衡,如果只是一臺(tái)服務(wù)器,這臺(tái)宕機(jī)了就完蛋了。
分布式的難點(diǎn),就是很多機(jī)器做存在依賴關(guān)系的不同活兒,這些活兒需要的資源、時(shí)間區(qū)別可能很大,某些機(jī)器還可能罷工,要怎么樣才能協(xié)調(diào)好,做到效率最高,消耗最少,不出錯(cuò)。
分布式的應(yīng)用場(chǎng)景?平時(shí)接觸到的分布式系統(tǒng)有很多種,比如分布式文件系統(tǒng),分布式數(shù)據(jù)庫(kù),分布式WebService,分布式計(jì)算等等,面向的情景不同,但分布式的思路是否是一樣的呢?
1.簡(jiǎn)單的例子假設(shè)我們有一臺(tái)服務(wù)器,它可以承擔(dān)1百萬(wàn)/秒的請(qǐng)求,這個(gè)請(qǐng)求可以的是通過http訪問網(wǎng)頁(yè),通過tcp下載文件,jdbc執(zhí)行sql,RPC調(diào)用接口…,現(xiàn)在我們有一條數(shù)據(jù)的請(qǐng)求是2百萬(wàn)/秒,很顯然服務(wù)器hold不住了,會(huì)各種拒絕訪問,甚至崩潰,宕機(jī),怎么辦呢。
一臺(tái)機(jī)器解決不了的問題,那就兩臺(tái)。所以我們加一臺(tái)機(jī)器,每臺(tái)承擔(dān)1百萬(wàn)。如果請(qǐng)求繼續(xù)增加呢,兩臺(tái)解決不了的問題,那就三臺(tái)唄。
這種方式我們稱之為水平擴(kuò)展。如何實(shí)現(xiàn)請(qǐng)求的平均分配便是負(fù)載均衡了。
另一個(gè)栗子,我們現(xiàn)在有兩個(gè)數(shù)據(jù)請(qǐng)求,數(shù)據(jù)1 90萬(wàn),數(shù)據(jù)2 80萬(wàn),上面那臺(tái)機(jī)器也hold不住,我們加一臺(tái)機(jī)器來負(fù)載均衡一下,每臺(tái)機(jī)器處理45萬(wàn)數(shù)據(jù)1和40萬(wàn)數(shù)據(jù)2,但是平分太麻煩,不如一臺(tái)處理數(shù)據(jù)1,一臺(tái)處理數(shù)據(jù)2,同樣能解決問題,這種方式我們稱之為垂直拆分。
水平擴(kuò)展和垂直拆分是分布式架構(gòu)的兩種思路,但并不是一個(gè)二選一的問題,更多的是兼并合用。下面介紹一個(gè)實(shí)際的場(chǎng)景。這也是許多互聯(lián)網(wǎng)的公司架構(gòu)思路。
2.實(shí)際的例子我此時(shí)所在的公司的計(jì)算機(jī)系統(tǒng)很龐大,自然是一個(gè)整的分布式系統(tǒng),為了方便組織管理,公司將整個(gè)技術(shù)部按業(yè)務(wù)和平臺(tái)拆分為部門,訂單的,會(huì)員的,商家的等等,每個(gè)部門有自己的web服務(wù)器集群,數(shù)據(jù)庫(kù)服務(wù)器集群,通過同一個(gè)網(wǎng)站訪問的鏈接可能來自于不同的服務(wù)器和數(shù)據(jù)庫(kù),對(duì)網(wǎng)站及底層對(duì)數(shù)據(jù)庫(kù)的訪問被分配到了不同的服務(wù)器集群,這個(gè)便是典型的按業(yè)務(wù)做的垂直拆分,每個(gè)部門的服務(wù)器在hold不住時(shí),會(huì)有彈性的擴(kuò)展,這便是水平擴(kuò)展。
在數(shù)據(jù)庫(kù)層,有些表非常大,數(shù)據(jù)量在億級(jí),如果只是純粹的水平的擴(kuò)展并不一定最好,如果對(duì)表進(jìn)行拆分,比如可以按用戶id進(jìn)行水平拆表,通過對(duì)id取模的方式,將用戶劃分到多張表中,同時(shí)這些表也可以處在不同的服務(wù)器。按業(yè)務(wù)的垂直拆庫(kù)和按用戶水平拆表是分布式數(shù)據(jù)庫(kù)中通用的解決方案。
比如 Mycat 開源分布式數(shù)據(jù)庫(kù)中間件 http://www.mycat.io/
3.分布式一致性分布式系統(tǒng)中,解決了負(fù)載均衡的問題后,另外一個(gè)問題就是數(shù)據(jù)的一致性了,這個(gè)就需要通過同步來保障。根據(jù)不同的場(chǎng)景和需求,同步的方式也是有選擇的。
在分布式文件系統(tǒng)中,比如商品頁(yè)面的圖片,如果進(jìn)行了修改,同步要求并不高,就算有數(shù)秒甚至數(shù)分鐘的延遲都是可以接受的,因?yàn)橐话悴粫?huì)產(chǎn)生損失性的影響,因此可以簡(jiǎn)單的通過文件修改的時(shí)間戳,隔一定時(shí)間掃描同步一次,可以犧牲一致性來提高效率。
但銀行中的分布式數(shù)據(jù)庫(kù)就不一樣了,一丁點(diǎn)不同步就是無(wú)法接受的,甚至可以通過加鎖等犧牲性能的方式來保障完全的一致。
在一致性算法中paxos算法是公認(rèn)的最好的算法,Chubby、ZooKeeper 中Paxos是它保證一致性的核心。這個(gè)算法比較難懂,我目前也沒弄懂,這里就不深入了。
Contact作者:鵬磊
出處:http://www.ymq.io/2018/01/23/Distributed-cluster/
Email:admin@souyunku.com
版權(quán)歸作者所有,轉(zhuǎn)載請(qǐng)注明出處
Wechat:關(guān)注公眾號(hào),搜云庫(kù),專注于開發(fā)技術(shù)的研究與知識(shí)分享
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/25219.html
摘要:云存儲(chǔ)主要技術(shù)路線有哪些各有哪些優(yōu)缺點(diǎn)分享一存儲(chǔ)虛擬化存儲(chǔ)虛擬化更多是對(duì)傳統(tǒng)塊的虛擬化。也是云存儲(chǔ)的主流當(dāng)家花旦。哪些應(yīng)用場(chǎng)景適合云存儲(chǔ)?存儲(chǔ)虛擬化、分布式存儲(chǔ)、對(duì)象存儲(chǔ)這幾種技術(shù)主要解決什么問題?技術(shù)產(chǎn)品選型如何考慮? 企業(yè)哪些應(yīng)用場(chǎng)景適合借助云存儲(chǔ)來實(shí)現(xiàn)? 傳統(tǒng) IT 環(huán)境中使用傳統(tǒng)存儲(chǔ)的困境有那些?那些應(yīng)用場(chǎng)景是傳統(tǒng)存儲(chǔ)不能滿足而必須借助云存儲(chǔ)來實(shí)現(xiàn)的? 分享一: ...
摘要:云存儲(chǔ)主要技術(shù)路線有哪些各有哪些優(yōu)缺點(diǎn)分享一存儲(chǔ)虛擬化存儲(chǔ)虛擬化更多是對(duì)傳統(tǒng)塊的虛擬化。也是云存儲(chǔ)的主流當(dāng)家花旦。 哪些應(yīng)用場(chǎng)景適合云存儲(chǔ)?存儲(chǔ)虛擬化、分布式存儲(chǔ)、對(duì)象存儲(chǔ)這幾種技術(shù)主要解決什么問題?技術(shù)產(chǎn)品選型如何考慮?企業(yè)哪些應(yīng)用場(chǎng)景適合借助云存儲(chǔ)來實(shí)現(xiàn)?傳統(tǒng) IT 環(huán)境中使用傳統(tǒng)存儲(chǔ)的困境有那些?那些應(yīng)...
摘要:大數(shù)據(jù)時(shí)代第三次信息化浪潮年前后,以云計(jì)算大數(shù)據(jù)物聯(lián)網(wǎng)的首發(fā)為標(biāo)志迎來第三次信息化浪潮。大數(shù)據(jù)的發(fā)展歷程大數(shù)據(jù)的概念和影響大數(shù)據(jù)的特性特性指。處理大規(guī)模圖結(jié)構(gòu)數(shù)據(jù)。物聯(lián)網(wǎng)應(yīng)用大數(shù)據(jù)云計(jì)算物聯(lián)網(wǎng)的關(guān)系三者相輔相成,既有聯(lián)系又有區(qū)別。 ...
摘要:集群默認(rèn)對(duì)所有租戶開放權(quán)限,平臺(tái)支持對(duì)存儲(chǔ)集群進(jìn)行權(quán)限控制,用于將部分物理存儲(chǔ)資源獨(dú)享給一個(gè)或部分租戶使用,適用于專屬私有云場(chǎng)景。支持租戶將有權(quán)限的存儲(chǔ)卷信息作為虛擬機(jī)的系統(tǒng)盤,使虛擬機(jī)直接運(yùn)行直商業(yè)存儲(chǔ)中,提升性能。4.1.1 地域地域 ( Region ) 指 UCloudStack 云平臺(tái)物理數(shù)據(jù)中心的地理區(qū)域,如上海、北京、杭州等。不同地域間完全物理隔離,云平臺(tái)資源創(chuàng)建后不能更換地域...
閱讀 1931·2021-09-22 15:23
閱讀 3413·2021-09-04 16:45
閱讀 2192·2021-07-29 14:49
閱讀 2830·2019-08-30 15:44
閱讀 1616·2019-08-29 16:36
閱讀 1151·2019-08-29 11:03
閱讀 1594·2019-08-26 13:53
閱讀 567·2019-08-26 11:57