1. 程式人生 > >Spring Cloud Bus

Spring Cloud Bus

Spring Cloud Bus

  • 在微服務架構中,通常會使用輕量級得訊息代理來構建一個公用得訊息主題讓系統中所有微服務例項都連線上來,由於該主題中產生得訊息會被所有例項監聽和訊息,所以我們稱它為訊息匯流排。在總線上得各個例項都可以方便地廣播一些需要讓其他連線在該主題上得例項都知道得訊息。
  • 這裡用到Kfaka做訊息代理

kafka安裝

下載對應得包解壓
進入解壓後得目錄,修改server.properties檔案
Vim /usr/local/kafka/server.properties
修改內容: broker.id=0 port=9092 host.name=192.168.137.100 log.dirs=/usr/local/kafka/kafka-logs advertised.host.name=192.168.137.100 num.partitions=2 zookeeper.connect=192.168.137.100:2181,192.168.137.101:2181,192.168.137.102:2181 建立日誌資料夾 mkdir /usr/local/kafka/kafka-logs 啟動kafka: /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
&

Kafka-Manager安裝

下載 kafka-manager-1.0-SNAPSHOT.zip
解壓 unzip kafka-manager-1.0-SNAPSHOT.zip  -d /usr/local
改名 mv
編輯檔案 vim /usr/local/kafka-manager-1.0/conf/application.conf
修改內容
  kafka-manager.zkhosts="192.168.137.100:2181,192.168.137.101:2181,192.168.137.102:2181"
啟動

Bus工程建立

  • 建立spring-cloud-07-bus-server 這個工程跟之前得Config工程一樣 只需要在Application.properties中加入
spring.cloud.stream.kafka.binder.zk-nodes=192.168.137.100:2181,192.168.137.101:2181,192.168.137.102:2181
spring.cloud.stream.kafka.binder.brokers=192.168.137.100:9092
management.security.enabled=false
  • 建立spring-cloud-07-bus-client 這個工程跟之前Config Client工程一樣 只需要在Application.properties中加入
spring.cloud.stream.kafka.binder.zk-nodes=192.168.137.100:2181,192.168.137.101:2181,192.168.137.102:2181
spring.cloud.stream.kafka.binder.brokers=192.168.137.100:9092
  • 當啟動專案時,會在Kafka中建立一個Topic叫springCloudBus

  • 當Git中內容出現改變時,只需要重新整理http://localhost:4001/bus/refresh就可以 而不用去重新整理Client專案中得Server了,這樣得好處是當Server端多了時,只需要重新整理Config端得Bus匯流排就可以了
  • 執行流程

  • GitHub地址