- 指定partitionKey , 并且一个partition一个消费者线程
kafkaProducer.send(new ProducerRecord<>("fad-service-show", 1,id + "", id + ""));
这里的第一个参数是topic, 第二个参数是partion.
上面的消息将会分发到 fad-service-show-1 的partition中去,
在kafka consumer 的
for (int i = 0; i < 8; i++) {
listTP.add(new TopicPartition("fad-service-show", i));
}
consumer.assign(listTP);
上面的consumer 可以指定订阅consumer的partition.
- broker 宕机后, partition的数量不会减少, 也不会影响partitionKey的sharding. 所以说, 如果说如果一个topic , n个partition, 使用顺序消费直接指定partition即可.
网友评论