如果我们有一个启用了复制因子的Kafka群集,但同一地区的所有经纪人 - 如果整个地区出现故障,我们如何防止?
是否有可能让一些经纪人在例如东部地区和其中一些在西部地区?
延迟会对此产生多大影响?
如果不建议这样做 - 在整个区域出现故障时进行故障转移的最佳解决方案是什么?
如果我们一直有2个集群 - 复制和/或生产者同时向两个集群写入相同消息的最佳做法是什么?
答案 0 :(得分:0)
显然,如果您的所有经纪人都在同一地区运营,那么如果整个地区出现问题,您的架构将无法运作。
提出您的问题我能给您的唯一直接答案是“这取决于”。您需要根据需要设计和实施灾难恢复计划,评估风险并计算相应的成本。每个解决方案都应该平衡权衡。
灾难恢复计划的一个示例可能是(this link上的更多信息):
案例1:Kafka群集失败
故障转移到同一数据中心内的第二个群集。
案例2:主要存储/网络中断
故障转移到同一数据中心内但在另一个区域中的另一个群集。
案例3:拆除整个数据中心
在附近的多个数据中心运行的单个Kafka群集。
案例4:洪水和地震
故障转移到另一个区域中的另一个群集。
要求和评估的事项
此外,您需要创建一个包含“要询问的事物”和POC的列表,以查看您的灾难恢复计划是否真正有效。例如,您需要询问并评估以下内容:
您的问题没有直接答案。这取决于你想要达到的目标,你想要避免的是什么以及你愿意付多少钱。