首页 文章

卡夫卡机架意识和 ISR 的位置

提问于
浏览
2

我想构建一个 HA Kafka 集群,集群需要跨越 2 个可用区域。

我希望能够继续阅读和写入主题,即使 AZ 中的所有经纪人都失败了。

如果我在每个 AZ 中至少有 2 个代理,复制因子为 3,最小 ISR 为 2 且 acks 设置为 All,那么我认为当除了领导者之外的其他一个代理也会执行写操作时,生成器写入将被激活。机架感知算法是否强制 ISR 必须位于其他 AZ 中?文档只提到复制品,而不是 ISR。

这是否会让我在失去 AZ 的情况下继续阅读和写作?如果没有,那么实现这一目标需要什么?

1 回答

  • 0

    如果你想要一个真正的 HA Kafka 集群,你需要从 HA Zookeeper 集合开始,这通常意味着 3 个可用区,因为(与 Kafka 经纪人不同)Zookeeper 节点需要一个法定数量(大多数原始节点)才能运行,你不能拥有当一半节点关闭时占多数。

    Zookeeper 很重要的原因是一个合适的 HA Kafka 集群不应该只是在失败后允许读写,而且还允许新主题创建和新的领导者选举,这两者都需要 Zookeeper 才能运行。

相关问题