我曾經用過activemq,ons再到現在的kafka訊息中介軟體,發現kafka是一款接近完美的訊息中介軟體!
學習一款技術,肯定是先從官方文件開始!
從官方文件可以初窺堂奧!
kafka是一個分散式流處理平臺,意味著什麼呢?
三個關鍵指標:
像訊息佇列一樣,釋出和訂閱流式記錄!
以容錯方式儲存流式的資料!
儲存流式處理過程(日誌可重複讀取,無限期保留)
在兩大類應用中使用:
構建系統間實時的流式資料傳輸!
構建實時的流式資料轉換和響應!
幾大要素:
多伺服器執行,跨越多資料中心,支援分片,多副本,超大吞吐量!
kafka叢集儲存流式資料!
儲存key-value形式資料和自帶時間戳!
從官方文件可以看出,kafka自帶分散式屬性,流式處理,可支援高容錯率的儲存和資料傳輸,可快速實時的響應!生產,傳輸,消費日誌被儲存,可以無限讀取!
技術永遠是為業務服務的,有了這麼一款優良的訊息中介軟體,我們怎麼實現一套訊息中介軟體的架構呢?
使用場景:生產者和消費者之間解耦,日誌收集和分析,持久化儲存!
分散式kafka叢集通常的配置方式如下:
1,所有伺服器上安裝jdk!
2,安裝kafka安裝包並解壓!
3,假設zookeeper叢集三臺機器分別為a,b,c,kafka機器群為1,2,3!
4,建立zk叢集,使用kafka解壓包中自帶的zk搭建叢集,修改zookeeper.properties檔案,三臺機器保持一致,同時配置日誌路徑!
5,建立myid檔案,放入kafka/zookeeper目錄下,新增myid為機器對應的1,2,3!
6,啟動zookeeper叢集!
7,修改kafka中的server.properties檔案,設定各自id,主機ip,埠,和執行緒連線資訊!配置zookeeper.connect=1,2,3對應的ip,配置日誌路徑!
8,啟動kafka叢集!
至此,三臺機器組成的kafka叢集就搭建完成!
使用spring-integration-kafka等包連線spring和kafka,開啟kafka自帶監聽器!配置生產者和消費者和topic等資訊即可!
kafka作為一款不僅僅是訊息功能的訊息中介軟體,擁有超大吞吐量和容錯能力,必將成為以後分散式訊息叢集的優先選擇!
我曾經用過activemq,ons再到現在的kafka訊息中介軟體,發現kafka是一款接近完美的訊息中介軟體!
學習一款技術,肯定是先從官方文件開始!
從官方文件可以初窺堂奧!
kafka是一個分散式流處理平臺,意味著什麼呢?
三個關鍵指標:
像訊息佇列一樣,釋出和訂閱流式記錄!
以容錯方式儲存流式的資料!
儲存流式處理過程(日誌可重複讀取,無限期保留)
在兩大類應用中使用:
構建系統間實時的流式資料傳輸!
構建實時的流式資料轉換和響應!
幾大要素:
多伺服器執行,跨越多資料中心,支援分片,多副本,超大吞吐量!
kafka叢集儲存流式資料!
儲存key-value形式資料和自帶時間戳!
從官方文件可以看出,kafka自帶分散式屬性,流式處理,可支援高容錯率的儲存和資料傳輸,可快速實時的響應!生產,傳輸,消費日誌被儲存,可以無限讀取!
技術永遠是為業務服務的,有了這麼一款優良的訊息中介軟體,我們怎麼實現一套訊息中介軟體的架構呢?
使用場景:生產者和消費者之間解耦,日誌收集和分析,持久化儲存!
分散式kafka叢集通常的配置方式如下:
1,所有伺服器上安裝jdk!
2,安裝kafka安裝包並解壓!
3,假設zookeeper叢集三臺機器分別為a,b,c,kafka機器群為1,2,3!
4,建立zk叢集,使用kafka解壓包中自帶的zk搭建叢集,修改zookeeper.properties檔案,三臺機器保持一致,同時配置日誌路徑!
5,建立myid檔案,放入kafka/zookeeper目錄下,新增myid為機器對應的1,2,3!
6,啟動zookeeper叢集!
7,修改kafka中的server.properties檔案,設定各自id,主機ip,埠,和執行緒連線資訊!配置zookeeper.connect=1,2,3對應的ip,配置日誌路徑!
8,啟動kafka叢集!
至此,三臺機器組成的kafka叢集就搭建完成!
使用spring-integration-kafka等包連線spring和kafka,開啟kafka自帶監聽器!配置生產者和消費者和topic等資訊即可!
kafka作為一款不僅僅是訊息功能的訊息中介軟體,擁有超大吞吐量和容錯能力,必將成為以後分散式訊息叢集的優先選擇!