1.HighLevelApi

High Level Api是多线程的应用程序,以Topic的Partition数量为中心。消费的规则如下:

  • 一个partition只能被同一个ConsumersGroup的一个线程所消费.

  • 线程数小于partition数,某些线程会消费多个partition.

  • 线程数等于partition数,一个线程正好消费一个线程.

  • 当添加消费者线程时,会触发rebalance,partition的分配发送变化.

  • 同一个partition的offset保证消费有序,不同的partition消费不保证顺序.

iOS培训,Swift培训,苹果开发培训,移动开发培训

关于与ZK的几个参数意思解释

  • zookeeper.connect: ZK连接。

  • group.id: Consumer消费ID。

  • zookeeper.session.timeout.ms: kafka节点与ZK会话的超时时间。

  • zookeeper.sync.time.ms: zk的follower与leader的同步时间间隔。

  • auto.commit.interval.ms: Consumer offset自动提交给Zookeeper的时间。

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