跟我學Spring Cloud(Finchley版)-23-Spring Cloud Config高

前文構建的都是單節點的Config Server,本節來討論如何構建高可用的Config Server集羣,包括Config Server的高可用依賴Git倉庫的高可用以及RabbitMQ的高可用。

先來討論Git倉庫的高可用。

Git倉庫的高可用

由於配置內容存儲在Git倉庫中,所以要想實現Config Server的高可用,必須有一個高可用的Git倉庫。有兩種方式可以實現Git倉庫的高可用。

  • 使用第三方Git倉庫:這種方式非常簡單,可使用例如GitHub、BitBucket、Gitee、Coding等提供的倉庫託管服務,這些服務本身就已實現了高可用。
  • 自建Git倉庫管理系統:使用第三方服務的方式雖然省去了很多煩惱,但是很多場景下,傾向於自建Git倉庫管理系統。此時就需要保證自建Git的高可用。

以 GitLab 爲例,讀者可參照官方文檔搭建高可用的 GitLab:

RabbitMQ的高可用

Spring Cloud Config使用Spring Cloud Bus實現配置批量刷新。而由於Spring Cloud Bus依賴RabbitMQ(當然也可使用其他MQ,例如Kafka或者RocketMQ),所以RabbitMQ的高可用也是必不可少的。

搭建高可用RabbitMQ的資料,讀者可詳見:<https://www.rabbitmq.com/ha.html>。由於比較簡單,筆者不做贅述。當然,也可使用雲平臺的提供的RabbitMQ服務

Config Server自身的高可用

本節來討論如何實現Config Server自身的高可用。筆者分兩種場景進行討論。

Config Server未註冊到Eureka Server上

對於這種情況,Config Server的高可用可藉助一個負載均衡器來實現,如圖9-6所示。

Config Server高可用架構圖

如圖9-6,各個微服務將請求發送到負載均衡器,負載均衡器將請求轉發到其代理的其中一個Config Server節點。這樣,就可以實現Config Server的高可用。

Config Server註冊到Eureka Server上

這種情況下,Config Server的高可用相對簡單,只須將多個Config Server節點註冊到Eureka Server上,即可實現Config Server的高可用。架構如圖9-7所示。

Config Server高可用架構圖

本文首發

<http://www.itmuch.com/spring-cloud/finchley-23/&gt;

乾貨分享

全是乾貨!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章