阿里P8架构师谈:分布式、集群、负载均衡、分布式数据一致性的区别与关联
服務(wù)器集群:
1.集群概念
集群就是一組相互獨(dú)立的計(jì)算機(jī),通過(guò)高速的網(wǎng)絡(luò)組成一個(gè)計(jì)算機(jī)系統(tǒng)。服務(wù)器集群就是指將很多服務(wù)器集中起來(lái)一起進(jìn)行同一種服務(wù),在客戶(hù)端看來(lái)就像是只有一個(gè)服務(wù)器。
2.集群的特點(diǎn)和優(yōu)勢(shì)
1)高性能
比如上千臺(tái)服務(wù)器同時(shí)計(jì)算運(yùn)行,遠(yuǎn)大于單機(jī)的運(yùn)行效率。
2)性?xún)r(jià)比優(yōu)勢(shì)
利用通用廉價(jià)的服務(wù)器代替小型機(jī),例如:阿里轟轟烈烈的去IOE(去掉IBM的小型機(jī)、Oracle數(shù)據(jù)庫(kù)、EMC存儲(chǔ)設(shè)備,代之以自己在開(kāi)源軟件基礎(chǔ)上開(kāi)發(fā)的系統(tǒng))
3)可伸縮性
馬上即將開(kāi)始的阿里雙11,除了提前預(yù)估服務(wù)器外,在極端的情況下,可以實(shí)現(xiàn)動(dòng)態(tài)的服務(wù)器擴(kuò)容。
3.集群的分類(lèi)
一般分為如下三類(lèi):
- 負(fù)載均衡集群(Load balancing clusters)簡(jiǎn)稱(chēng)LBC
- 高可用性集群(High-availability clusters)簡(jiǎn)稱(chēng)HAC
- 高性能計(jì)算集群(High-perfomance clusters)簡(jiǎn)稱(chēng)HPC
大家平時(shí)接觸最多的就是負(fù)載均衡集群,常用的有 Nginx 把請(qǐng)求分發(fā)給后端的不同web服務(wù)器,還有就是數(shù)據(jù)庫(kù)集群,負(fù)載均衡就是,為了保證服務(wù)器的高可用,高并發(fā)。
負(fù)載均衡
在服務(wù)器集群中,需要有一臺(tái)服務(wù)器充當(dāng)調(diào)度者的角色,用戶(hù)的所有請(qǐng)求都會(huì)首先由它接收,調(diào)度者再根據(jù)每臺(tái)服務(wù)器的負(fù)載情況將請(qǐng)求分配給某一臺(tái)后端服務(wù)器去處理。那么在這個(gè)過(guò)程中,調(diào)度者如何合理分配任務(wù),保證所有后端服務(wù)器都將性能充分發(fā)揮,從而保持服務(wù)器集群的整體性能最優(yōu),這就是負(fù)載均衡。
負(fù)載均衡更加詳細(xì)的內(nèi)容可以查看:
阿里P8架構(gòu)師談:負(fù)載均衡的原理、分類(lèi)、實(shí)現(xiàn)架構(gòu),以及使用場(chǎng)景
分布式
分布式是指將不同的業(yè)務(wù)分布在不同的地方,而集群指的是將幾臺(tái)服務(wù)器集中在一起,實(shí)現(xiàn)同一業(yè)務(wù)。分布式中的每一個(gè)節(jié)點(diǎn),都可以做集群,而集群并不一定就是分布式的。
分布式一致性
分布式系統(tǒng)中,解決了負(fù)載均衡的問(wèn)題后,另外一個(gè)問(wèn)題就是數(shù)據(jù)的一致性了。
在分布式集群中,很難保障數(shù)據(jù)的一致性。在以往的單節(jié)點(diǎn)服務(wù)中,通常使用鎖來(lái)實(shí)現(xiàn),當(dāng)發(fā)生并發(fā)沖突時(shí) 通過(guò)對(duì)鎖的持有獲得對(duì)象的操作權(quán),從而保證數(shù)據(jù)在同一時(shí)刻只允許被一個(gè)請(qǐng)求操作。但是在集群中,若同樣采用鎖的機(jī)制,那么需要一臺(tái)節(jié)點(diǎn)用來(lái)管理分配鎖,當(dāng)其他節(jié)點(diǎn)進(jìn)行請(qǐng)求前,首先去獲取鎖從而獲得執(zhí)行權(quán)。但是這樣會(huì)產(chǎn)生單節(jié)點(diǎn)問(wèn)題,即若管理鎖的節(jié)點(diǎn)down掉,那么整個(gè)集群將無(wú)法工作。同時(shí),由于鎖的機(jī)制會(huì)使整個(gè)集群變成串行化單節(jié)點(diǎn)的形式,失去了集群的意義。
所以,在集群中需要一種高容錯(cuò)的分布式一致性算法,因此提出了Paxos算法。
Paxos是一種基于消息傳遞且具有高度容錯(cuò)性的一致性算法,在分布式當(dāng)中應(yīng)用的十分廣泛。
更多分布式數(shù)據(jù)一致性?xún)?nèi)容可以查看:阿里P8架構(gòu)師談:分布式數(shù)據(jù)庫(kù)數(shù)據(jù)一致性的原理、與技術(shù)實(shí)現(xiàn)方案
你可能也喜歡:
總結(jié)
以上是生活随笔為你收集整理的阿里P8架构师谈:分布式、集群、负载均衡、分布式数据一致性的区别与关联的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 论文浅尝 | Knowledge Vau
- 下一篇: 论文浅尝 | 面向 cQA 的跨语言问题