首页 文章

负载 balancer 1主题Kafka群集

提问于
浏览
4

我们正在设计一个Kafka集群(至少3个节点),它将处理来自Web服务器阵列的事件 . 由于日志大致相同,我们计划仅创建一个主题(比如 - webevents)

我们期望来自服务器的大量流量 . 由于只有一个主题,因此将有一个领导经纪人 . 在这种情况下,群集如何 balancer 高流量?所有写入请求将始终始终路由到领导代理,其他节点可能未得到充分利用 .

外部硬件 balancer 器是否有助于解决此问题?或者,Kafka配置是否可以帮助在1主题集群上均匀分配写请求?

谢谢,谢罗德

1 回答

  • 14

    Short answer: a topic may have multiple partitions and each partition, not topic, has a leader. Leaders are evenly distributed among brokers. So, if you have multiple partitions in your topic you will have multiple leaders and your writes will be evenly distributed among brokers.

    您将拥有一个包含大量分区的主题,您可以复制分区以获得数据的高可用性/持久性 .

    每个代理将保持均匀分布的分区数,并且每个分区可以是主题的领导者或副本 . Kafka 生产环境 者(在您的Web服务器中运行的Kafka客户端)写入单个领导者,这提供了一种负载 balancer 生产环境 的方法,以便每个写入可以由单独的代理和机器提供服务 .

    生产环境 者执行负载 balancer ,为每条消息选择目标分区 . 它可以基于消息密钥完成,因此具有相同密钥的所有消息将转到同一分区,或者如果您未设置消息密钥,则以循环方式转发 .

    enter image description here

    看看this好帖子 . 我从那里拿了图 .

相关问题