我们正在设计一个Kafka集群(至少3个节点),它将处理来自Web服务器阵列的事件.由于日志大致相同,我们计划仅创建一个主题(比如 - webevents)
我们期望来自服务器的大量流量.由于只有一个主题,因此将有一个领导经纪人.在这种情况下,群集如何平衡高流量?所有写入请求将始终始终路由到领导代理,其他节点可能未得到充分利用.
外部硬件平衡器是否有助于解决此问题?或者,Kafka配置是否可以帮助在1主题集群上均匀分配写请求?
谢谢,谢罗德
Luc*_*lie 19
简短回答:一个主题可能有多个分区,每个分区,而不是主题,都有一个领导者.领导者在经纪人中平均分配.因此,如果您的主题中有多个分区,您将拥有多个分支,并且您的写入将在代理之间平均分配.
您将拥有一个包含大量分区的主题,您可以复制分区以获得数据的高可用性/持久性.
每个代理将保持均匀分布的分区数,并且每个分区可以是主题的领导者或副本.Kafka生产者(在您的Web服务器中运行的Kafka客户端)写入单个领导者,这提供了一种负载平衡生产的方法,以便每个写入可以由单独的代理和机器提供服务.
生产者执行负载平衡,为每条消息选择目标分区.它可以基于消息密钥完成,因此具有相同密钥的所有消息将转到同一分区,或者如果您未设置消息密钥,则以循环方式转发.
看看这个好帖子.我从那里拿了图.
| 归档时间: |
|
| 查看次数: |
6824 次 |
| 最近记录: |