- The high-level Consumer API
- The SimpleConsumer API
第一種高度抽象的Consumer API,它使用起來簡單、方便,但是對於某些特殊的需求我們可能要用到第二種更底層的API,那麼先介紹下第二種API能夠幫助我們做哪些事情
- 一個消息讀取多次
- 在一個處理過程中只消費Partition其中的一部分消息
- 添加事務管理機制以保證消息被處理且僅被處理一次
使用SimpleConsumer有哪些弊端呢?
- 必須在程序中跟蹤offset值
- 必須找出指定Topic Partition中的lead broker
- 必須處理broker的變動
使用SimpleConsumer的步驟
- 從所有活躍的broker中找出哪個是指定Topic Partition中的leader broker
- 找出指定Topic Partition中的所有備份broker
- 構造請求
- 發送請求查詢數據
- 處理leader broker變更