首页 > 解决方案 > 目前最大规模的生产 kafka 集群部署

问题描述

我正在考虑如何部署我们的 kafka 集群:一个包含多个代理组或多个集群的大集群。如果是一个大集群,我想知道一个 kafka 集群可以有多大。kafka有一个controller节点,不知道能支持多少broker。另一个是 _consume_offset_ topic ,它可以有多大,我们可以向它添加更多分区。

标签: apache-kafka

解决方案


我亲自使用过从 3 个代理到 20 个代理的生产 Kafka 集群。他们都工作得很好,这取决于你投入了什么样的工作量。对于 Kafka,我的一般建议是拥有少量更大/更强大的代理,而不是拥有一堆小型服务器。

对于常设集群,您添加的每个代理都会增加节点之间的“串扰”,因为它们必须移动分区、复制数据以及保持元数据同步。这种额外的网络喋喋不休会影响代理可以处理的负载量。作为一般规则,添加代理会增加整体容量,但您必须移动分区,以便在整个集群中正确平衡负载。因此,最好从 10 个节点开始,这样主题和分区会从一开始就均匀分布,而不是从 6 个节点开始,然后再添加 4 个节点。

不管集群的大小,一次总是只有一个控制器节点。如果该节点发生故障,另一个节点将接管作为控制器,但在给定时间只有一个节点可以处于活动状态,假设集群未处于不稳定状态。

__consumer_offsets主题可以有任意数量的分区,但默认设置为 50 个分区。由于这是一个紧凑的主题,假设没有发生过多的提交(这在生产环境中已经发生过两次),那么默认设置应该足以满足几乎任何情况。您可以通过查找以offsets.官方 Kafka 文档开头的代理属性来查找消费者偏移主题的配置设置。

您可以在官方 Kafka 文档页面获取更多详细信息:https ://kafka.apache.org/documentation/


推荐阅读