首页 > 解决方案 > 向主题发布消息时对生产者的说明

问题描述

我是学习 Kafka 的初学者,正在研究主题和制作人。据我了解

  1. 主题只是一组分区的逻辑名称,分区分布在节点上。

  2. 我的理解是否正确,对于给定的主题,假设有 5 个分区,那么所有 5 个分区将位于 5 个不同的代理上。如果有另一个主题有 5 个分区,那么所有 5 个分区将在 5 个代理上。对于这种配置,5 个代理中的每一个都将有两个分区,每个分区都有一个主题。我对吗?

  3. 生产者发布消息而消费者正在消费的另一点是,生产者将拥有一个已brokers配置的列表,并将消息发布到 atopicbrokers. 消息将始终写入领导分区。即经纪人上的分区之一。然后该消息将被复制到其他代理上的所有其他分区。在这种情况下,如果生产者在生产者配置中只配置了一个代理,那么在这种情况下消息是否也会发布到领导分区,即使代理配置与该主题的领导分区不同,例如:主题名称 - 在 5 个代理上具有 5 个分区的事件。broker-2 包含领导分区,但生产者仅配置了 broker-1。

  4. 我还读到生产者也可以在发布消息时指定分区名称。如果是这种情况,生产者也会将消息发布到领导分区,如果生产者将消息发布到自定义分区并且如果包含自定义分区的代理关闭,那么消息将不会是矛盾的张贴。同样在分布式系统的情况下,确定特定分区不是最佳实践。我在这里错过了什么吗?

  5. 消费者是否也从领导分区读取或消费者组将不同的消费者分配到不同的分区?

标签: apache-kafka

解决方案


推荐阅读