【发布时间】:2020-08-26 14:28:46
【问题描述】:
我在本地机器上设置了 3 个代理,并使用5 分区创建了一个主题,
bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 3 --partitions 5 --topic test-partitions
然后来描述我的test-partitions话题,
bin/kafka-topics.sh --describe --bootstrap-server localhost:9092 --topic test-partitions
导致
Topic: test-partitions PartitionCount: 5 ReplicationFactor: 3 Configs: segment.bytes=1073741824
Topic: test-partitions Partition: 0 Leader: 1 Replicas: 1,2,0 Isr: 1,2,0
Topic: test-partitions Partition: 1 Leader: 0 Replicas: 0,1,2 Isr: 0,1,2
Topic: test-partitions Partition: 2 Leader: 2 Replicas: 2,0,1 Isr: 2,0,1
Topic: test-partitions Partition: 3 Leader: 1 Replicas: 1,0,2 Isr: 1,0,2
Topic: test-partitions Partition: 4 Leader: 0 Replicas: 0,2,1 Isr: 0,2,1
Kafka 不会在此处引发任何错误。
现在,当我使用生产者/消费者 API 时,一切正常,但我无法理解的是,在生产者/消费者端的配置中,我没有定义要连接的分区。我的问题是,当我对同一主题有多个分区时,kafka 如何决定将消息推送到同一代理中的哪个分区?这不是不一致的行为吗?
【问题讨论】:
标签: apache-kafka