標籤:

《Simplifying data pipelines with Apache Kafka》課程第四章Kafka Consumer問題集

1.0.8.2版本和0.9版本的consumer有什麼區別?有什麼特性?

2.consumer的流程?

3.consumer group之間consumer是如何協調工作的?

0.8.2是用zookeeper的,0.9開始不用了。

group coordinator主要負責分配partition。還負責監視各個consumer是否alive。

4.consumer如何處理offset?應該何時進行commit?

5.配置consumer時有哪些settings?

bootstrap.servers只需要填一個broker就可以了,kafka會自動發現full cluster membership。

client.id設置為consumer的名字,比如Consumer1,方便debug問題。

6.配置舉例?

7.consumer代碼舉例?

8.什麼時候應該自己保存offset?

思路就是讓消費過程和offset消費過程綁在一起原子化。比如用transaction,但是會影響吞吐。

9.從consumer可以看出kafka的設計原則嘛?

kafka的設計更傾向於大吞吐(因為是為大數據系統設計的嘛),比如容許無序,重複數據等。

kafka把保證不重複或無序消息處理這類功能放在了應用端,應用端可自己做出這些tradeoff。


推薦閱讀:

Kafka設計解析(七)- 流式處理的新貴Kafka Stream

TAG:Kafka |