1.HighLevelApi

High Level Api是多線程的應(yīng)用程序,以Topic的Partition數(shù)量為中心。消費(fèi)的規(guī)則如下:

  • 一個(gè)partition只能被同一個(gè)ConsumersGroup的一個(gè)線程所消費(fèi).

  • 線程數(shù)小于partition數(shù),某些線程會(huì)消費(fèi)多個(gè)partition.

  • 線程數(shù)等于partition數(shù),一個(gè)線程正好消費(fèi)一個(gè)線程.

  • 當(dāng)添加消費(fèi)者線程時(shí),會(huì)觸發(fā)rebalance,partition的分配發(fā)送變化.

  • 同一個(gè)partition的offset保證消費(fèi)有序,不同的partition消費(fèi)不保證順序.

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

關(guān)于與ZK的幾個(gè)參數(shù)意思解釋

  • zookeeper.connect: ZK連接。

  • group.id: Consumer消費(fèi)ID。

  • zookeeper.session.timeout.ms: kafka節(jié)點(diǎn)與ZK會(huì)話的超時(shí)時(shí)間。

  • zookeeper.sync.time.ms: zk的follower與leader的同步時(shí)間間隔。

  • auto.commit.interval.ms: Consumer offset自動(dòng)提交給Zookeeper的時(shí)間。

Note that since the commit frequency is time based instead of # of messages consumed, if an error occurs between updates to ZooKeeper on restart you will get replayed m