卡夫卡跨地区的故障转移

时间:2018-04-10 11:05:43

标签: amazon-web-services apache-kafka failover confluent

如果我们有一个启用了复制因子的Kafka群集,但同一地区的所有经纪人 - 如果整个地区出现故障,我们如何防止

是否有可能让一些经纪人在例如东部地区和其中一些在西部地区?

延迟会对此产生多大影响?

如果不建议这样做 - 在整个区域出现故障时进行故障转移的最佳解决方案是什么?

如果我们一直有2个集群 - 复制和/或生产者同时向两个集群写入相同消息的最佳做法是什么?

1 个答案:

答案 0 :(得分:0)

显然,如果您的所有经纪人都在同一地区运营,那么如果整个地区出现问题,您的架构将无法运作。

提出您的问题我能给您的唯一直接答案是“这取决于”。您需要根据需要设计和实施灾难恢复计划,评估风险并计算相应的成本。每个解决方案都应该平衡权衡。

灾难恢复计划的一个示例可能是(this link上的更多信息):

案例1:Kafka群集失败

故障转移到同一数据中心内的第二个群集。

案例2:主要存储/网络中断

故障转移到同一数据中心内但在另一个区域中的另一个群集。

案例3:拆除整个数据中心

在附近的多个数据中心运行的单个Kafka群集。

案例4:洪水和地震

故障转移到另一个区域中的另一个群集。

要求和评估的事项

此外,您需要创建一个包含“要询问的事物”和POC的列表,以查看您的灾难恢复计划是否真正有效。例如,您需要询问并评估以下内容:

  1. 发生意外故障的保证是什么?
  2. 发生预期失败的保证是什么?
  3. 失败的过程是什么?
  4. 需要多少个数据中心?
  5. 您应该在哪里找到这些数据中心?
  6. 该解决方案如何影响您的生产环境和性能?
  7. 数据中心之间的带宽要求是什么?
  8. 您的问题没有直接答案。这取决于你想要达到的目标,你想要避免的是什么以及你愿意付多少钱。