教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Kafka生產(chǎn)、消費數(shù)據(jù)的工作流程

更新時間:2021年10月19日13時44分 來源:傳智教育 瀏覽次數(shù):


生產(chǎn)者先從 zookeeper 的 "/brokers/topics/主題名/partitions/分區(qū)名/state"節(jié)點找到該 partition 的leader.

1634611987174_生產(chǎn)者寫入數(shù)據(jù)流程.png

l  生產(chǎn)者在ZK中找到該ID找到對應的broker

Kafka數(shù)據(jù)寫入流程、Kafka數(shù)據(jù)消費流程

l  broker進程上的leader將消息寫入到本地log中

l  follower從leader上拉取消息,寫入到本地log,并向leader發(fā)送ACK

l  leader接收到所有的ISR中的Replica的ACK后,并向生產(chǎn)者返回ACK。

Kafka數(shù)據(jù)寫入流程、Kafka數(shù)據(jù)消費流程

Kafka數(shù)據(jù)消費流程

有2種消費模式:

1634612029573_消費者的2種消費模式.png

l kafka采用拉取模型,由消費者自己記錄消費狀態(tài),每個消費者互相獨立地順序拉取每個分區(qū)的消息

l 消費者可以按照任意的順序消費消息。比如,消費者可以重置到舊的偏移量,重新處理之前已經(jīng)消費過的消息;或者直接跳到最近的位置,從當前的時刻開始消費。

Kafka消費數(shù)據(jù)流程

1634612038132_kafka消費者拉取數(shù)據(jù)流程.png

l 每個consumer都可以根據(jù)分配策略(默認RangeAssignor),獲得要消費的分區(qū)

l  獲取到consumer對應的offset(默認從ZK中獲取上一次消費的offset)

l  找到該分區(qū)的leader,拉取數(shù)據(jù)

l  消費者提交offset

猜你喜歡:

為什么選擇kafka采集數(shù)據(jù)?

什么是Kafka?Kafka誕生的背景是什么?

什么是Apache Kafka?

kafka自定義攔截器實例教程[傳智教育]

傳智教育Python+大數(shù)據(jù)開發(fā)培訓

0 分享到:
和我們在線交談!