springcloud應用之config配置中心

2021-10-03 17:44:44 字數 4428 閱讀 1313

config專案

請先閱讀eureka

我們專案裡面每乙個微服務都有乙個yml檔案,我們希望這個yml檔案能夠交給乙個config中心管理,而config中心又是從第三方如github讀取專案所有的配置檔案,基本架構思路如圖

我們先來建乙個config-server-8400

new module -->spring initialzr —>填好資訊---->搜尋config server

啟動類加上@enableconfigserver

server

:port

:8400

spring::

name

: config-server

cloud

:config

:server

:git

:uri

: clone-on-start

:true

#啟動的時候就去git clone過來

search-paths

: foo,ba* #搜尋 foo檔案,以ba開頭的目錄,以及foo的子目錄,ba*的子目錄 所有檔案

我的git檔案 test-config.yml如下

server

:port

:12345

spring

:profiles

:active

: test

---spring

:profiles

: dev

:name

: dev-server

---spring

:profiles

: test

:name

: test-server

啟動該專案訪問

都試試看

config訪問規則

//[

/]/-

.yml //

-.yml /-

.properties

//-.properties

config-server-8400成功可以從瀏覽器看到git的配置資訊

下面我們建乙個config-client,讓這個專案用git上面的配置埠12345跑起來

new module -->spring initialzr —>填好資訊---->搜尋config client

pom新增,這是大坑

>

>

org.springframework.bootgroupid

>

>

spring-boot-starter-webartifactid

>

dependency

>

spring::

name

: config-client

bootstrap.yml

spring

:cloud

:config

:name

: test-config #git的檔名

profile

: dev #profiles拿test還是dev

label

: master # 分支

uri: http://localhost:8400/ # 單體的config-server-8400路徑

啟動config-client專案用到了git上的配置

因為只有乙個config-server不能保證高可用,我們再建乙個config-server-8401

config-client

config-server-8400

config-server-8401

pom都加上

>

>

org.springframework.cloudgroupid

>

>

spring-cloud-starter-netflix-eureka-clientartifactid

>

dependency

>

config-client啟動類加上@enableeurekaclient

config-server-8400,config-server-8401加上@enableconfigserver,@enableeurekaclient

config-client的bootstrap.yml

spring

:cloud

:config

:name

: test-config #git的檔名

profile

: dev #profiles拿test還是dev

label

: master # 分支

#uri: http://localhost:8400/ # 單體的config-server-8400路徑

#啟動的時候就去git clone過來

search-paths

: foo,ba* #搜尋 foo檔案,以ba開頭的目錄,以及foo的子目錄,ba*的子目錄 所有檔案

#啟動的時候就去git clone過來

search-paths

: foo,ba* #搜尋 foo檔案,以ba開頭的目錄,以及foo的子目錄,ba*的子目錄 所有檔案

先跑兩個server,再跑client發現還是用到了12345埠,這裡用的負載均衡和我之前配置zuul的集群一樣,都是採用eurek

SpringCloud 應用之間的通訊

有2種方式 1.通過 resttemlate方式 直接resttemplate物件。將url寫死即可。resttemplate resttemplate new resttemplate 從http localost 8080 msg獲取string資訊。優點 簡單直接,缺點 url寫死,耦合了。以...

C巨集高階應用之

在巨集定義中經常看到 和 現在講一下他們的用法 1,是連線符 用於將兩個引數連線在一起 例如 define a x,y x y 則 a he llo 結果是hello define link a my a 則 link god 相當於 mygod 是一種分隔連線方式 他的作用是先分隔 然後強制連線 ...

C 應用之解析json

多個json庫比較 符合標準程度 越高越好 解析至dom的時間 越低越好 把dom生成含換行及縮排的json的時間 越低越好 可執行檔案 把json解析至dom,然後統計json型別 的大小 越低越好 推薦rapidjson rapidjson example dom dom.cpp include...