New API
Producer
》增加发送回调
》重构Partition
统一High Level API与Low Level API
》从kafka.consumer和kafka.javaapi到kafka.clients.consumer(Kafka将所有的相关类都放在这个包中)
》subscribe动态rebalance(subscribe接口对应High Level API) vs assign手动分配(assign接口对应Low Level API)
》将offset存于Kafka和Zookeeper以外
》ConsumerRebalanceListener(之前只能通过数据来观察rebalance)
》控制消费位置(我们可以控制数据从任何位置开始消费,虽然Low Level API也可以指定消费位置,但是它再一次消费数据时,要指定从上次消费完的位置开始)
》消费流程控制(可以暂停对某个Partiton消费)
》消费流畅控制
也就说,New API将原来的High Level API 和Low Level API里面所有的类归并到kafka.clients.consumer,这个包有Subscribe和Assign这2个接口分别对应这原来的High Level API 和Low Level API。
Subscribe
》自动Rebalance
》自动分配Partiton给Consumer
》使用subscribe接口,并可注册ConsumerRebalanceListener
Assign
》使用Assign接口
》指定目标Partition