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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

史上最简单的SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)

發布時間:2024/9/27 javascript 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 史上最简单的SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉:https://blog.csdn.net/forezp/article/details/70148235

Spring Cloud Bus 將分布式的節點用輕量的消息代理連接起來。它可以用于廣播配置文件的更改或者服務之間的通訊,也可以用于監控。本文要講述的是用Spring Cloud Bus實現通知微服務架構的配置文件的更改。

一、準備工作

本文還是基于上一篇文章來實現。按照官方文檔,我們只需要在配置文件中配置 spring-cloud-starter-bus-amqp ;這就是說我們需要裝rabbitMq,點擊rabbitmq(http://www.rabbitmq.com/)下載。至于怎么使用 rabbitmq,搜索引擎下。

二、改造config-client

在pom文件加上起步依賴spring-cloud-starter-bus-amqp,完整的配置文件如下:

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.forezp</groupId><artifactId>config-client</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>config-client</name><description>Demo project for Spring Boot</description><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.2.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.retry</groupId><artifactId>spring-retry</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-config</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bus-amqp</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Dalston.RC1</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build><repositories><repository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></repository></repositories></project>

在配置文件application.properties中加上RabbitMq的配置,包括RabbitMq的地址、端口,用戶名、密碼,代碼如下:

spring.rabbitmq.host=localhost spring.rabbitmq.port=5672 # spring.rabbitmq.username= # spring.rabbitmq.password=

如果rabbitmq有用戶名密碼,輸入即可。
依次啟動eureka-server、confg-cserver,啟動兩個config-client,端口為:8881、8882。
訪問http://localhost:8881/hi 或者http://localhost:8882/hi 瀏覽器顯示:

foo version 3

這時我們去代碼倉庫將foo的值改為“foo version 4”,即改變配置文件foo的值。如果是傳統的做法,需要重啟服務,才能達到配置文件的更新。此時,我們只需要發送post請求:http://localhost:8881/bus/refresh,你會發現config-client會重新讀取配置文件

重新讀取配置文件:

這時我們再訪問http://localhost:8881/hi 或者http://localhost:8882/hi 瀏覽器顯示:

foo version 4

另外,/bus/refresh接口可以指定服務,即使用”destination”參數,比如 “/bus/refresh?destination=customers:**” 即刷新服務名為customers的所有服務,不管ip。

三、分析

此時的架構圖:

當git文件更改的時候,通過pc端用post 向端口為8882的config-client發送請求/bus/refresh/;此時8882端口會發送一個消息,由消息總線向其他服務傳遞,從而使整個微服務集群都達到更新配置文件。

四、其他擴展(可忽視)

可以用作自定義的Message Broker,只需要spring-cloud-starter-bus-amqp, 然后再配置文件寫上配置即可,同上。

Tracing Bus Events:
需要設置:spring.cloud.bus.trace.enabled=true,如果那樣做的話,那么Spring Boot TraceRepository(如果存在)將顯示每個服務實例發送的所有事件和所有的ack,比如:(來自官網)

{"timestamp": "2015-11-26T10:24:44.411+0000","info": {"signal": "spring.cloud.bus.ack","type": "RefreshRemoteApplicationEvent","id": "c4d374b7-58ea-4928-a312-31984def293b","origin": "stores:8081","destination": "*:**"}},{"timestamp": "2015-11-26T10:24:41.864+0000","info": {"signal": "spring.cloud.bus.sent","type": "RefreshRemoteApplicationEvent","id": "c4d374b7-58ea-4928-a312-31984def293b","origin": "customers:9000","destination": "*:**"}},{"timestamp": "2015-11-26T10:24:41.862+0000","info": {"signal": "spring.cloud.bus.ack","type": "RefreshRemoteApplicationEvent","id": "c4d374b7-58ea-4928-a312-31984def293b","origin": "customers:9000","destination": "*:**"} }

本文源碼下載:
https://github.com/forezp/SpringCloudLearning/tree/master/chapter8

五、參考資料

http://projects.spring.io/spring-cloud/spring-cloud.html#_spring_cloud_bus

總結

以上是生活随笔為你收集整理的史上最简单的SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产十区| 亚洲色图狠狠干 | www麻豆| 国产精品99精品久久免费 | av中文资源网 | 久久综合久久鬼 | 国产吞精囗交免费视频 | av不卡免费观看 | 亚洲美女在线播放 | 亚洲欧美日韩一区二区三区在线观看 | 91猎奇在线观看 | 欧美日韩一区二区三区在线观看 | 国产特黄aaaaa毛片 | 黄金网站在线观看 | 黄色网页在线播放 | 午夜爽爽视频 | 麻豆chinese新婚xxx | 久草久操 | 国产精品影院在线观看 | 欧美日韩精品在线视频 | 在线观看一二区 | 少妇高潮久久久久久潘金莲 | av片手机在线观看 | 色哟哟在线 | 日本不卡在线观看 | 秘密的基地 | 理论片琪琪午夜电影 | 在线观看国产网站 | 97免费人妻无码视频 | 新超碰在线 | 星空大象mv高清在线观看免费 | 天天操夜夜操狠狠操 | 97超级碰碰碰 | 美丽的姑娘在线观看 | 日韩一级色片 | 四虎影视黄色 | av色综合 | 精品国产系列 | 爱爱爱爱网站 | 国产亚洲综合在线 | 性做久久久| 一区免费 | 中国美女一级看片 | 波多野吉衣一区二区三区 | 欧洲精品免费一区二区三区 | 国产一久久 | 精品国产自在精品国产精小说 | 国产精品福利一区二区 | 9久久9毛片又大又硬又粗 | 91在线无精精品白丝 | 国产精品福利网站 | 欧美tickle狂笑裸体vk | 欧美色图17p | 免费看日批 | 一本色道久久综合狠狠躁的推荐 | 精品久久99| 中国女人特级毛片 | 久久女同互慰一区二区三区 | 国产成人欧美一区二区三区91 | 少妇被狂c下部羞羞漫画 | 一级黄色免费片 | 国产操女人 | 四虎影视av | 真实乱视频国产免费观看 | 无码av免费毛片一区二区 | 国产成人无码精品久久久性色 | 欧美黄色一级视频 | 欧美夜夜操 | 日韩一区二区在线观看视频 | 日韩成人黄色片 | 青青草精品视频 | 波多野结衣黄色 | 大屁股白浆一区二区 | 色视频网站 | 成人在线观看小视频 | 国产五十路 | 少女忠诚电影高清免费 | 亲嘴扒胸摸屁股免费视频日本网站 | 欧美日韩在线视频免费 | 韩国日本在线观看 | 亚洲欧美另类日本 | 在线无遮挡 | 日产精品一区 | 欧美成人黄色片 | 91久久精品国产91久久性色tv | 国产又粗又黄又爽又硬的视频 | 日本三级韩国三级三级a级按摩 | 久久一二三区 | 欧美日韩久久精品 | 国产精品7777 | 国产在线网站 | www.好了av| 超碰精品在线 | 日韩一区二区免费看 | 成人三级在线视频 | 尤物视频在线观看视频 | 国内精品久久久久久久久久 | 免费视频久久 | www黄色片 |