七 配置中心(服務化與高可用)

2021-10-04 04:28:47 字數 1711 閱讀 1307

本文接之前的(六)配置中心(git 版與動態重新整理),繼續來說說 spring cloud config 的使用。

先來回顧一下,在前文中我們完成了什麼:

在本文中,我們繼續來看看 spring cloud config 的一些其他能力。

通常在生產環境,config server 與服務註冊中心一樣,我們也需要將其擴充套件為高可用的集群。在之前實現的 config-server 基礎上來實現高可用非常簡單,不需要我們為這些服務端做任何額外的配置,只需要遵守乙個配置規則:將所有的 config server 都指向同乙個 git 倉庫,這樣所有的配置內容就通過統一的共享檔案系統來維護,而客戶端在指定 config server 位置時,只要配置 config server 外的均衡負載即可,就像如下圖所示的結構:

雖然通過服務端負載均衡已經能夠實現,但是作為架構內的配置管理,本身其實也是可以看作架構中的乙個微服務。所以,另外一種方式更為簡單的方法就是把 config-server 也註冊為服務,這樣所有客戶端就能以服務的方式進行訪問。通過這種方法,只需要啟動多個指向同一 git 倉庫位置的 config-server 就能實現高可用了。

配置過程也非常簡單,我們基於配置中心 git 版本的內容來改造。

新增依賴

這樣 server 端的改造就完成了。先啟動 eureka 註冊中心,在啟動 server 端,在瀏覽器中訪問:http://localhost:7000/ 就會看到 server 端已經註冊了到註冊中心了。

新增依賴

org.springframework.cloud

spring-cloud-starter-netflix-eureka-client

配置檔案bootstrap.yml

spring:

cloud:

config:

profile: dev # 對應 部分

label: master # 對應 部分,即 git 的分支。如果配置中心使用的是本地儲存,則該引數無用

這三個配置都需要放到bootstrap.yml配置檔案中。

啟動 client 端,在瀏覽器中訪問:http://localhost:7000/ 就會看到 server 端和 client 端都已經註冊了到註冊中心了。

學習借鑑自

nacos 配置中心 服務發現 使用

解壓,進入bin目錄執行 sh startup.sh m standalone 看到nacos is starting with standalone表面城管 測試 鏈結 建立使用者 建立角色 繫結使用者 建立namespace 角色賦許可權 具體操作如下 預設使用者名稱,密碼 nacos naco...

RabbitMQ 集群與高可用配置

此文 未實驗過 通過 erlang 的分布式特性 通過 magic cookie 認證節點 進行 rabbitmq 集群,各 rabbitmq 服務為對等節點,即每個節點都提供服務給客戶端連線,進行訊息傳送與接收。這些節點通過 rabbitmq ha 佇列 映象佇列 進行訊息佇列結構複製。本方案中搭...

RabbitMQ 集群與高可用配置

通過 erlang 的分布式特性 通過 magic cookie 認證節點 進行 rabbitmq 集群,各 rabbitmq 服務為對等節點,即每個節點都提供服務給客戶端連線,進行訊息傳送與接收。這些節點通過 rabbitmq ha 佇列 映象佇列 進行訊息佇列結構複製。本方案中搭建 3 個節點,...