kafka高階api和低階api的區別和聯絡

2021-08-21 11:30:15 字數 554 閱讀 1678

● 高階api寫起來簡單 

● 不需要去自行去管理offset,系統通過zookeeper自行管理 

● 不需要管理分割槽,副本等情況,系統自動管理 

● 消費者斷線會自動根據上一次記錄在 zookeeper中的offset去接著獲取資料(預設設定5s更新一下 zookeeper 中存的的offset),版本為0.10.2 

● 可以使用group來區分對訪問同乙個topic的不同程式訪問分離開來(不同的group記錄不同的offset,這樣不同程式讀取同乙個topic才不會因為offset互相影響) 

缺點● 不能自行控制 offset(對於某些特殊需求來說) 

● 不能細化控制如分割槽、副本、zk 等

● 能夠開發者自己控制offset,想從**讀取就從**讀取。 

● 自行控制連線分割槽,對分割槽自定義進行負載均衡 

● 對 zookeeper 的依賴性降低(如:offset 不一定非要靠 zk 儲存,自行儲存offset 即可,比如存在檔案或者記憶體中) 

缺點● 太過複雜,需要自行控制 offset,連線哪個分割槽,找到分割槽 leader 等

kafka高階api和低階api的區別和聯絡

優點 高階api寫起來簡單 不需要去自行去管理offset,系統通過zookeeper自行管理 不需要管理分割槽,副本等情況,系統自動管理 消費者斷線會自動根據上一次記錄在 zookeeper中的offset去接著獲取資料 預設設定5s更新一下 zookeeper 中存的的offset 版本為0.1...

kafka消費者低階API

實現使用低階api讀取指定topic,指定partition,指定offset的資料。1 消費者使用低階api 的主要步驟 步驟主要工作 1根據指定的分割槽從主題元資料中找到主副本 2獲取分割槽最新的消費進度 3從主副本拉取分割槽的訊息 4識別主副本的變化,重試 指定分割槽,指定offset 1 根...

Spark讀取Kafka 高低階API

1 kafkautils.createdstream 建構函式為kafkautils.createdstream ssc,zk consumer group id per topic,partitions 使用了receivers來接收資料,利用的是kafka高層次的消費者api,對於所有的rece...