1.HighLevelApi
High Level Api是多线程的应用程序,以Topic的Partition数量为中心。消费的规则如下:
一个partition只能被同一个ConsumersGroup的一个线程所消费.
线程数小于partition数,某些线程会消费多个partition.
线程数等于partition数,一个线程正好消费一个线程.
当添加消费者线程时,会触发rebalance,partition的分配发送变化.
同一个partition的offset保证消费有序,不同的partition消费不保证顺序.

关于与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

