如何使用MirrorMaker2将数据从Kafka群集东[KCL_1]推送到kafka群集北,如果KCL_1失败,则切换到kafka群集西[KCL_2]

sg2wtvxw  于 2023-04-05  发布在  Apache
关注(0)|答案(1)|浏览(174)

场景:两个数据中心 East DC(数据中心)West DC 都具有相同的数据流,并作为彼此的备份。

  • North DC* 需要来自East DC或West DC的连续数据。

在我的搜索过程中,出现了一些名字,比如MirrorMaker 2,U replicator和custom build Kakfa connect。
我想到使用 * MirrorMaker 2(MM 2)* 来实现这个目的,最初数据将从 East DC 推送,假设 East DC 在上午11:00失败,那么 * MM 2 * 将切换到 West DC 并在上午11:00推送数据。
第一次设计这样的解决方案,所以只是想确认一下我使用MM 2或备用的方向。
任何建议/分享过去的经验可以帮助,谢谢

s5a0g9ez

s5a0g9ez1#

如果您的东群集出现故障,则不会从 * 任何 * 镜像解决方案向西(或向北)推送任何数据。
不清楚“switch”的含义。在这种情况下,任何配置为使用east集群的客户端都将停止工作,因为它们不知道任何关于west或north的信息(Kafka客户端一次只能配置到一个集群)。镜像解决方案与外部客户端配置/服务发现无关。
如果它们被更新到了west(有停机时间),而east群集又重新联机,那么您需要再次停机才能将它们切换回east。但是,在完成西-东镜像之前可能不应该这样做。在这种情况下,我不完全确定任何“更新的east消费者”如何知道哪些数据已经从west群集处理。
如果生产者只存在于东部和西部,而消费者只存在于北部,那么这就是一个“扇入”的Kafka模式,如果东部/西部集群/镜像重新启动,你需要注意大量的消费者负载。
由于这些原因,我发现Kafka集群镜像不是主动-主动复制的防弹解决方案。
我想这就是为什么人们倾向于Apache Pulsar或Confluent“集群链接”解决方案的原因。

相关问题