什麼是匯流排:在微服務架構的系統中,通常會使用輕量級的訊息**來構建乙個公用的訊息主題,並讓該系統中的所有微服務例項都連線上來。由於該主題中產生的訊息會被所有例項監聽和消費,所以稱他為訊息匯流排。
基本原理:configclient例項都監聽mq中同乙個topic(預設是springcloudbus)。當乙個服務重新整理資料的時候,他會把這個訊息放入topic,這樣其他監聽同乙個topic的服務就能夠得到通知,然後去更新自身配置。
springcloud配置中心+訊息匯流排服務端配置
1.引入依賴
org.springframework.cloud
spring-cloud-starter-bus-amqp
org.springframework.cloud
spring-cloud-config-server
org.springframework.cloud
spring-cloud-starter-netflix-eureka-client
配置中心+訊息匯流排 客戶端配置server:
port: 3344
spring:
name: cloud-config-center
cloud:
config: #配置中心配置
server:
git:
uri: #github倉庫位址
search-paths:
- config-center
label: master #倉庫分支
rabbitmq: #配置中心配置 bus-rabbitmq
host: 192.168.1.8
port: 5672
username: admin
password: admin
management: #向外暴露監控埠
endpoints:
web:
exposure:
include: "bus-refresh"
eureka:
instance:
hostname: cloud-config-center
prefer-ip-address: true #是否顯示微服務ip位址
client:
register-with-eureka: true
fetch-registry: true
service-url:
defaultzone: http://eureka7001:7001/eureka,http://eureka7002:7002/eureka #eureka集群配置
1.引入依賴
2.bootstrap.yml配置
org.springframework.cloud
spring-cloud-starter-bus-amqp
org.springframework.cloud
spring-cloud-starter-config
在gihub上修改 config-dev.yml配置檔案後,使用post請求訪問 配置中心服務端:server:
port:3355
spring:
name: cloud-config-client
cloud:
config: #confi配置
label: master #分支
name: config #配置檔案名稱
profile: dev #檔案字尾
uri: http://localhost:3344 #配置中心 服務端位址
rabbitmq:
host: 192.168.1.8
port: 5672
username: admin
password: admin
#暴露監控介面
management:
endpoints:
web:
exposure:
include: "*"
eureka:
instance:
instance-id: cloud-config-client
ip-address: true
client:
register-with-eureka: true
fetch-registry: true
service-url:
defaultzone: http://eureka7001:7001/eureka,http://eureka7002:7002/eureka #eureka集群配置
http://localhost:3344/actuator/re-fresh 進行廣播重新整理,使所有客戶端更新配置
也可訪問 http://localhost:3344/actuator/re-fresh/ 重新整理指定的微服務配置
Spring Cloud Bus 配置更新
spring cloud bus做配置更新步驟如下 1.提交 觸發post請求給bus refresh 2.server端接收到請求並傳送給spring cloud bus 3.spring cloud bus接到訊息並通知給其它客戶端 4.其它客戶端接收到通知,請求server端獲取最新配置 5....
Spring Cloud Bus訊息匯流排
前面講到spring cloud config把配置檔案放到github上來讀取。通過 refresh介面來更新讀取修改的檔案,從而可以讀取新的值。但是,若所有觸發操作均需要我們手工去維護web hook中的應用位置的話,這隨著系統的不斷擴張,會變的越來越難以維護,而訊息 中介軟體是解決該問題最為合...
SpringCloud Bus學習筆記
在學習springcloud時學習了springcloud bus,一直沒有成功,問題如下。1.0版本的 2.0版本的 我使用的版本為2.0的版本。而我們遇到的問題是 剛開始我用瀏覽器發出的請求 預設為get請求,機緣巧合之下,我說要不用postman試一下,剛好我的postman是預設post的請...