为大型Kafka群集提供多少个引导服务器

时间:2018-01-18 10:11:00

标签: apache-kafka

我有一个用例,我的Kafka集群将拥有1000个经纪人,而我正在编写Kafka客户端。 为了编写客户端,我需要提供经纪人列表。

问题是,在客户中提供经纪人名单的建议指南是什么?

我们可以向客户提供kafka中可用的代理服务吗?   - 该代理将知道集群中的所有代理并将客户端连接到适当的代理。   - 就像在redis世界中,我们有twemproxy(胡桃夹子)   - confluent-rest-api可以作为代理吗?

是否建议在客户端提供任意数量的代理,例如提供3个代理的列表,即使集群有1000个节点?   - 如果提供经纪人崩溃怎么办?   - 如果提供经纪人重新启动并且位置/ IP发生变化会怎样?

1 个答案:

答案 0 :(得分:1)

传递给客户端的代理URL列表仅用于引导客户端。因此,客户端将自动自动了解所有其他可用的代理,并连接到需要“与之交谈”的正确代理。

因此,如果客户端已经运行,那些经纪人就会崩溃,客户端甚至都不会注意到。只有当所有这些代理同时关闭,并且启动客户端时,客户端才会“挂起”,因为它无法连接到群集并最终超时。

建议至少提供3个代理网址以“幸免”2个经纪人的中断。但是如果你需要更高水平的弹性,你也可以提供更多。