搜档网
当前位置:搜档网 › 8-kafka消费者0.8 0.9 版本高级API和简单API

8-kafka消费者0.8 0.9 版本高级API和简单API

8-kafka消费者0.8 0.9 版本高级API和简单API
8-kafka消费者0.8 0.9 版本高级API和简单API

1. topicCountMap.put(topic, new Integer(a_numThreads)) 是告诉Kafka我有多少个线程来处理消息。

(1). 这个线程数必须是小等于topic的partition分区数;可以通

过./kafka-topics.sh --describe --zookeeper "172.16.49.173:2181" --topic "producer_test"命令来查看分区的情况

(2). kafka会根据partition.assignment.strategy指定的分配策略来指定线程消费那些分区的消息;这里没有单独配置该项即是采用的默认值range策略(按照阶段平均分配)。比如分区有10个、线程数有3个,则线程1消费0,1,2,3,线程2消费4,5,6,线程3消费7,8,9。另外一种是roundrobin(循环分配策略),官方文档中写有使用该策略有两个前提条件的,所以一般不要去设定。

(3). 经过测试:consumerMap.get(topic).size(),应该是获得的目前该topic有数据的分区数

使用Old SimpleConsumerAPI编写consumer

相关主题