杭州好的做网站公司,微慕wordpress,兰州展柜公司网站建设,北京模板开发建站文章目录 生产者#xff1a;将数据写入 Kafka 的客户端。 消费者#xff1a;从 Kafka 中读取数据的客户端。 Topic#xff1a;Kafka 中用于组织和存储数据的逻辑概念#xff0c;类似于数据库表。 Record#xff1a;发送到 Topic 的消息称为 Record。 Partition#x… 文章目录 生产者将数据写入 Kafka 的客户端。 消费者从 Kafka 中读取数据的客户端。 TopicKafka 中用于组织和存储数据的逻辑概念类似于数据库表。 Record发送到 Topic 的消息称为 Record。 PartitionTopic 的分区用于水平扩展和提高并发性能。 Offset表示 Record 在 Partition 中的顺序。 Consumer Group一组消费者共同消费一个 Topic 中的数据。 BrokerKafka 集群中的一个节点用于存储和处理数据。 Consumer Group State由 Broker 写入名为 __consumer_offsets 的内部 Kafka topic 的消费者组状态。 Consumer Group ID标识具有独立状态的消费者组的参数。 Consumer Group Coordinator负责管理 Consumer Group State 的 Broker。 Consumer Group Assignment Strategy确定如何将分区分配给 Consumer Group 中的消费者。 Kafka 提供了两种 Consumer Group Assignment Strategy Range Assignment Strategy该策略将 Topic 的每个 Partition 按照 Partition ID 进行排序然后将它们平均分配给 Consumer Group 中的每个消费者。这样每个消费者都会消费一些连续的 Partition。 Round Robin Assignment Strategy该策略将 Topic 的所有 Partition 均匀地分配给 Consumer Group 中的每个消费者。这样每个消费者都会按照顺序消费一些 Partition然后再从头开始。 可以通过在 Consumer Group 中设置 partition.assignment.strategy 参数来选择使用哪种 Consumer Group Assignment Strategy。 默认情况下Kafka 使用 Range Assignment Strategy。 Primie Number of Partitions Issue如果 Topic 中的分区数为质数则可能会导致某些 Consumer Group 中的消费者比其他 Consumer Group 中的消费者消耗更少的分区。 Multiple Consumer Groups多个 Consumer Group 可以独立地读取同一个具有自己独立状态的 Topic。 Consumer Group Rebalance在 Consumer Group 中添加或删除消费者时分配策略会重新平衡分区分配。 在 Kafka 中Consumer Group Rebalance 是指在 Consumer Group 中添加或删除消费者时重新分配 Topic 的分区的过程。Consumer Group Rebalance 由 Consumer Group Coordinator负责管理 Consumer Group State 的 Broker触发并使用 Consumer Group Assignment Strategy确定如何将分区分配给 Consumer Group 中的消费者重新平衡分区分配。 Consumer Group Rebalance 的过程如下 当 Consumer Group 中添加或删除消费者时Consumer Group Coordinator 触发 Consumer Group Rebalance。 Consumer Group Coordinator 使用 Consumer Group Assignment Strategy 重新平衡分区分配。 Consumer Group Coordinator 将新的分区分配方案写入名为 __consumer_offsets 的内部 Kafka topic。 消费者使用 __consumer_offsets topic 中的信息来恢复其消费进度并继续消费数据。 Consumer Group Rebalance 是 Kafka 中一个重要的概念它可以帮助实现高可用性和伸缩性。但是如果 Consumer Group Rebalance 发生过于频繁就可能会影响 Kafka 集群的性能和稳定性。因此在使用 Kafka 时需要合理地设置 Consumer Group 的数量和消费者数量以避免过于频繁的 Consumer Group Rebalance。