Kafka消費者生產者例項

2021-08-04 14:49:20 字數 1724 閱讀 8273

它允許發布和訂閱記錄流,類似於訊息佇列或企業訊息傳遞系統。

它可以容錯的方式儲存記錄流。

它可以處理記錄發生時的流。

由於主要介紹如何使用kafka快速構建生產者消費者例項,所以不會涉及kafka內部的原理。乙個基於kafka的生產者消費者過程通常是這樣的(來自官網):

cd kafka_2.11-0.11.0.0

tar -zxvf kafka_2.11-0.11.0.0.tgz -c pathtoinstall

啟動kafka:

bin/kafka-server-start.sh config/server.properties
建立topic

bin/kafka

-topics.sh

--create--

zookeeper

localhost:2181--

replication

-factor1-

-partitions1-

-topic

test

producer傳送訊息

bin/kafka-console

-producer

.sh --broker-list localhost:9092

--topic test

在控制台輸入要傳送的訊息:

this is a message

this is another message

consumer接收訊息

bin/kafka-console

-consumer

.sh --bootstrap-server localhost:9092

--topic test --from-beginning

輸入命令後可以看到控制台輸出了剛才的訊息:

this is a message

this is another message

生產者:

public

class ******kafkaproducer

}

消費者:

public

class ******kafkaconsumer }}

先啟動生產者,傳送訊息到broker,這裡簡單傳送了10條從0-9的訊息,再啟動消費者,控制台輸出如下:

以上的程式只是單生產者單消費者的場景,所謂集群消費就是同乙個topic的消費可能有多個消費者消費,也稱廣播消費。集群消費只一種多執行緒或者多機器的消費方式。

要實現集群消費只需要為每個消費者指定不同的group.id就可以。由於**比較簡單就不貼了。

測試發現,當為了兩個consumer(這裡是兩個程序)指定不同的group.id後,producer傳送的訊息兩個consumer都能接受到,這很顯然,集群消費嘛。為設定兩個consumer的group.id為同乙個的時候,只有乙個消費者能消費者到。也就是說,kafka的訊息只能由組中的單個使用者讀取。

Kafka消費者生產者例項

2017年07月30日18 22 56 rhwayfunn 閱讀數 13818標籤 kafka 更多 個人分類 分布式系統 為了更為直觀展示卡夫卡的訊息生產消費的過程,我會從基於控制台和基於應用兩個方面介紹使用例項.kafka是乙個分布式流處理平台,具體來說有三層含義 它允許發布和訂閱記錄流,類似於...

生產者 消費者例項

package com.rx.thread.produce.consume public class product public void setid string id public product string id public string tostring public static v...

Kafka命令 生產者 消費者

檢視當前伺服器中的所有 topic bin kafka topics.sh list zookeeper zk01 2181 建立 topic bin kafka topics.sh create zookeeper zk01 2181 replication factor 1 partitions...