1. 程式人生 > >Spring Cloud Bus整合Kafka

Spring Cloud Bus整合Kafka

Kafka是由LinkedIn開發並開源的分散式訊息系統,因其分散式及高吞吐率而被廣泛使用,現已與Cloudera Hadoop,Apache Storm,Apache Spark整合,具備許多優秀的效能:高吞吐、分散式、跨平臺、實時性以及伸縮性,本文我們就來看看如何將Spring Cloud Bus和Kafka進行整合。

本文是Spring Cloud系列的第二十八篇文章,瞭解前二十七篇文章內容有助於更好的理解本文:

Kafka下載

Kafka現在是Apache上的開源專案,直接到官網下載即可(http://kafka.apache.org/),這個不用我多說。

啟動

下載成功之後,是一個壓縮檔案,解壓該檔案,我們可以看到一個bin目錄,進入到bin目錄中,bin目錄下的.sh檔案都是Linux/Unix下的shell指令碼,在Linux/Unix環境下直接執行這些指令碼即可,bin目錄中還有一個windows目錄,該目錄下儲存的都是windows中的批處理檔案。我們在執行時根據自己的作業系統選擇合適的命令去執行,本文以windows為例。解壓後為了後面的命令操作方便,我將windows檔案配置到環境變數中,我的是D:\Program\kafka_2.11-0.11.0.1\bin\windows,然後在cmd中進入到解壓目錄下,執行zookeeper-server-start.bat .\config\zookeeper.properties

命令,表示啟動zookeeper(由於Kafka依賴的zookeeper,所以我們要先啟動zookeeper再啟動Kafka),如下:

這裡寫圖片描述

zookeeper在啟動的過程中需要用到zookeeper.properties配置檔案,這個檔案中定義了zookeeper的埠為2181。zookeeper啟動成功之後,接下來我們要啟動Kafka,執行kafka-server-start.bat .\config\server.properties命令,如下:

這裡寫圖片描述

兩者都啟動成功之後,我們可以執行如下命令kafka-console-producer.bat --broker-list localhost:9092 --topic test

來發送一條訊息,該命令可以啟動Kafka基於命令列的訊息生產客戶端,啟動成功之後,我們就可以直接在命令列傳送訊息了,如下:

這裡寫圖片描述

訊息傳送了,當然要有人來接收,接下來我們來建立訊息接收端,執行kafka-console-consumer.bat --zookeeper localhost:2181 --topic test --from-beginning命令,啟動成功之後,我們就可以收到剛剛傳送的訊息了,如下:

這裡寫圖片描述

整合Spring Cloud Bus

Spring Cloud Bus和Kafka的整合非常簡單,如果我們使用了預設配置,就可以從RabbitMQ無縫切換過來,只需要修改一下我們之前config-server和config-client的依賴,將spring-cloud-starter-bus-amqp改為spring-cloud-starter-bus-kafka,如下:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bus-kafka</artifactId>
</dependency>

修改之後,我們分別啟動eureka、config-server和config-client,測試方式還是和上文一樣,該有的/bus/refresh介面的功能還是不變。這裡我就不再贅述了。

好了,Kafka我們就先說這麼多。有問題歡迎留言討論。

更多JavaEE資料請關注公眾號:

這裡寫圖片描述

相關推薦

Spring Cloud Bus整合Kafka

Kafka是由LinkedIn開發並開源的分散式訊息系統,因其分散式及高吞吐率而被廣泛使用,現已與Cloudera Hadoop,Apache Storm,Apache Spark整合,具備許多優秀的效能:高吞吐、分散式、跨平臺、實時性以及伸縮性,本文我們就來看

RabbitMq與spring cloud bus整合serverConfig熱載入及介紹

RabbitMq是一個訊息佇列的程式。。用來在各個應用之前相互通訊。這裡主要是給spring cloud叢集做廣播用的。 rabbitMq消費者-生產者模式。一端不停的寫入資訊,另一端可以讀取和訂閱佇列中的資訊。 安裝好之後,啟動服務即可。通過localhost:15672即可訪問,預設

Spring Cloud系列教程 | 第十篇:Spring Cloud Config Server和Spring Cloud Bus以及Kafka和資料庫動態重新整理配置

推薦 Spring Cloud 視訊: Spring Cloud Config Server和Spring Cloud Bus以及Kafka和資料庫動態重新整理配置     Spring cloud config server如果不結合Spring cloud

Spring Cloud Bus整合RabbitMQ ( 17 )

轉自 https://blog.csdn.net/u012702547/article/details/77823434 這個系列我感覺真的太好了,可以一步一步的瞭解spring cloud 的搭建以及更深層次的東西,對想學這門技術的朋友真的入門特別的快,感謝這位大哥的分享,我也會持續

(十六) 整合spring cloud雲架構 -使用spring cloud Bus刷新配置

start ron 興趣 def cli localhost wid inf 存儲 我們使用spring cloud分布式微服務雲架構做了b2b2c的電子商務系統,除了架構本身自帶的系統服務外,我們將b2b2c的業務服務進行了細粒度拆分,做成了不同的業務微服務。 當我們的業

Java架構-(十六) 整合spring cloud雲架構 -使用spring cloud Bus重新整理配置

我們使用spring cloud分散式微服務雲架構做了b2b2c的電子商務系統,除了架構本身自帶的系統服務外,我們將b2b2c的業務服務進行了細粒度拆分,做成了不同的業務微服務。 當我們的業務系統越來越龐大複雜的時候,各種配置也會隨之增多。配置檔案只要一修改,會對commonserv

(十六) 整合spring cloud雲架構 -使用spring cloud Bus重新整理配置

我們使用spring cloud分散式微服務雲架構做了b2b2c的電子商務系統,除了架構本身自帶的系統服務外,我們將b2b2c的業務服務進行了細粒度拆分,做成了不同的業務微服務。 當我們的業務系統越來越龐大複雜的時候,各種配置也會隨之增多。配置檔案只要一修改,會對commonservice-config配置

Spring Cloud Config + Spring Cloud Bus + kafka實現配置中心配置動態更新

一、架構圖 當在 Git 倉庫中某個應用配置檔案中的引數更新後,只需要通過 POST方法訪問 config Server 的 /actuator/bus-refresh 介面,就可以讓所以的微服務節點更新配置。 在我們的 DEMO 中有一個 Config Server

Spring Cloud (3) | spring cloud bus 訊息匯流排kafka應用

1. 下載kafka,地址:http://kafka.apache.org/downloads.html 從上面可以看出,分為原始碼包和二進位制包,我們下載二進位制包,這兩個選其中一個就可以,在這裡我們選擇下載:kafka_2.12-0.11.0.1.tgz 2. 解

SpringCloud教程 | 第13篇:高可用的分散式配置中心 Spring Cloud Bus 訊息匯流排整合(RabbitMQ)

上一篇文章,留了一個懸念,Config Client 實現配置的實時更新,我們可以使用 /refresh 介面觸發,如果所有客戶端的配置的更改,都需要手動觸發客戶端 /refresh ,當服務越來越多的時候,那豈不是維護成本很高,顯然不太合適,而使用Spring Cloud

整合spring cloud雲架構 -使用spring cloud Bus重新整理配置

我們使用spring cloud分散式微服務雲架構做了b2b2c的電子商務系統,除了架構本身自帶的系統服務外,我們將b2b2c的業務服務進行了細粒度拆分,做成了不同的業務微服務。 當我們的業務系統越來越龐大複雜的時候,各種配置也會隨之增多。配置檔案只要一修改,會對commo

spring cloud busspring cloud config整合實現應用配置動態重新整理

準備工作, 在碼雲上 建立 一個 專案,並在在目錄下建立 spring_cloud_in_action/config-repo 層級目錄,其中儲存了應用名為shendu的多環境配置檔案,配置檔案中有一個from引數 spring boot 版本是 1.5.

Spring Cloud Config 整合 Spring Cloud Bus 同步遠端配置

開發十年,就只剩下這套架構體系了! >>>   

SpringCloud 教程 (一) 消息總線(Spring Cloud Bus)

.html nco mile 你會 ava arp try nap 圖片 Spring Cloud Bus 將分布式的節點用輕量的消息代理連接起來。它可以用於廣播配置文件的更改或者服務之間的通訊,也可以用於監控。本文要講述的是用Spring Cloud Bus實現通知微服務

spring cloud spirng整合feign

url true var app ring provide .get pre brush restserver @RestController public class PoliceController { @RequestMapping(value = "/call

(一)spring cloud架構整合-springcloud簡介

電子商務 雲服務 spring cloud 架構 互聯網 Spring Cloud是一系列框架的有序集合。利用Spring Boot的開發模式簡化了分布式系統基礎設施的開發,都可以用Spring Boot的開發風格做到一鍵啟動和部署。Spring Cloud將目前比較成熟、經得起實際考驗的

Spring Cloud Bus 消息總線

scope clu config configure fin map cover encoding -a 1.繼承配置的東西,啟動兩個config-client,註意需要安裝rabbitmq 2.改造config-client pom.xml <?xml versi

Spring Cloud 進階之路 -- 訊息匯流排 Spring Cloud Bus 配置手動重新整理和動態自動重新整理

Spring Cloud Bus 配置步驟: 1、Spring Cloud Config 專案引入依賴,新增配置,配置暴露 endpoints 2、啟動Config 專案,註冊到Eureka,自動新增RabbitMQ佇列 3、客戶端的order應用引入依賴及配置,啟動Con

Spring Cloud Bus(訊息匯流排)(1)

訊息代理 訊息代理是一種訊息驗證、傳輸、路由的架構模式。它在應用程式之間起到通訊排程並最小化應用之間的依賴作用,使得應用程式可以高效地解耦通訊過程。訊息代理是一箇中間件產品,它的核心是一個訊息的路由程式,用來實現接受和分發訊息,並根據設定好的訊息處理流來轉發給正確的應用。它包括獨立的通訊和訊

Spring Cloud Bus

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