日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringCloud 入门教程(十):和RabbitMQ的整合 -- 消息总线Spring Cloud Netflix Bus

發(fā)布時(shí)間:2025/3/15 javascript 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringCloud 入门教程(十):和RabbitMQ的整合 -- 消息总线Spring Cloud Netflix Bus 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在本教程第三講Spring Cloud 入門教程(三): 配置自動(dòng)刷新中,通過POST方式向客戶端發(fā)送/refresh請(qǐng)求, 可以讓客戶端獲取到配置的最新變化。但試想一下, 在分布式系統(tǒng)中,如果存在很多個(gè)客戶端都需要刷新改配置,通過這種方式去刷新也是一種非常痛苦的事情。那有沒有什么辦法讓系統(tǒng)自動(dòng)完成呢? 之前我們提到用githook或者jenkins等外部工具來觸發(fā)。現(xiàn)在說另外一種思路, 如果refresh命令可以發(fā)送給config server,然后config server自動(dòng)通知所有config client, 那么就可以大大簡化配置刷新工作。這樣,雖然仍然需要通過refresh命令觸發(fā), 但通過webhook等鉤子方式, 我們只需要將關(guān)聯(lián)的命令掛到配置中心上,而不需要每個(gè)配置客戶端都去關(guān)聯(lián)。

現(xiàn)在,我們通過整合消息隊(duì)列Rabbitmq來完成這件事。我們的目標(biāo)是, 當(dāng)git倉庫中的配置一旦更改,將refresh命令發(fā)送給配置中心,然后配置中心通過消息隊(duì)列,自動(dòng)通知所有使用了該配置的刷新各自配置。

Spring Cloud Netflix Bus是Spring Cloud的消息機(jī)制,當(dāng)Git Repository 改變時(shí),通過POST請(qǐng)求Config Server的/bus/refresh,Config Server 會(huì)從repository獲取最新的信息并通過amqp傳遞給client,如圖所示.

1. RabbitMQ的安裝和配置的過程,這里就不贅述了。

2. 以第三節(jié)的程序?yàn)榛A(chǔ),?config Server和config client兩個(gè)項(xiàng)目中均添加一些內(nèi)容, 在pom.xml中增加

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bus-amqp</artifactId> </dependency>

?

2.?在配置文件bootstrap.yml(config client里面是application.yml)中增加關(guān)于RabbitMQ的連接和用戶信息:

spring:rabbitmq:host: localhostport: 5672username: springcloudpassword: 123456

?

3. 以上配置高好后,配置刷新,就只需要向config server發(fā)送 /bus/refresh的POST請(qǐng)求就可以了.?

4. 如果用poster等發(fā)送POST請(qǐng)求是出現(xiàn)錯(cuò)誤:“Full authentication is required to access this resource.", 那么可以在yml配置文件中加入以下內(nèi)容禁止Config server的權(quán)限攔截。

management:security:enabled: false #忽略權(quán)限攔截

總結(jié)

以上是生活随笔為你收集整理的SpringCloud 入门教程(十):和RabbitMQ的整合 -- 消息总线Spring Cloud Netflix Bus的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。