您好,登錄后才能下訂單哦!
前文構(gòu)建的都是單節(jié)點(diǎn)的Config Server,本節(jié)來(lái)討論如何構(gòu)建高可用的Config Server集群,包括Config Server的高可用依賴(lài)Git倉(cāng)庫(kù)的高可用以及RabbitMQ的高可用。
先來(lái)討論Git倉(cāng)庫(kù)的高可用。
由于配置內(nèi)容存儲(chǔ)在Git倉(cāng)庫(kù)中,所以要想實(shí)現(xiàn)Config Server的高可用,必須有一個(gè)高可用的Git倉(cāng)庫(kù)。有兩種方式可以實(shí)現(xiàn)Git倉(cāng)庫(kù)的高可用。
以 GitLab 為例,讀者可參照官方文檔搭建高可用的 GitLab:
Spring Cloud Config使用Spring Cloud Bus實(shí)現(xiàn)配置批量刷新。而由于Spring Cloud Bus依賴(lài)RabbitMQ(當(dāng)然也可使用其他MQ,例如Kafka或者RocketMQ),所以RabbitMQ的高可用也是必不可少的。
搭建高可用RabbitMQ的資料,讀者可詳見(jiàn):<https://www.rabbitmq.com/ha.html>。由于比較簡(jiǎn)單,筆者不做贅述。當(dāng)然,也可使用云平臺(tái)的提供的RabbitMQ服務(wù)。
本節(jié)來(lái)討論如何實(shí)現(xiàn)Config Server自身的高可用。筆者分兩種場(chǎng)景進(jìn)行討論。
對(duì)于這種情況,Config Server的高可用可借助一個(gè)負(fù)載均衡器來(lái)實(shí)現(xiàn),如圖9-6所示。
如圖9-6,各個(gè)微服務(wù)將請(qǐng)求發(fā)送到負(fù)載均衡器,負(fù)載均衡器將請(qǐng)求轉(zhuǎn)發(fā)到其代理的其中一個(gè)Config Server節(jié)點(diǎn)。這樣,就可以實(shí)現(xiàn)Config Server的高可用。
這種情況下,Config Server的高可用相對(duì)簡(jiǎn)單,只須將多個(gè)Config Server節(jié)點(diǎn)注冊(cè)到Eureka Server上,即可實(shí)現(xiàn)Config Server的高可用。架構(gòu)如圖9-7所示。
<http://www.itmuch.com/spring-cloud/finchley-23/>
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。