我有两个卡夫卡集群,一个在伦敦,另一个在纽约。每个都有三个Zookeeper实例和两个代理。每个区域中使用两个主题:InputData主题和OutputData主题。我希望每个区域都从另一个区域复制数据,即为了使它们有效地使用全局Inputdata和OutputData主题。如果NYC在此添加了两条消息,则应将其复制到EMEA。如果欧洲,中东和非洲(EMEA)添加了三则消息,则应发送给纽约市。
我的问题是如何实现这一目标?双向复制是否有效,或者您陷入无限循环/并发性是否存在问题?即,如果NYC在EMEA写消息的同时在本地写消息,然后复制器尝试同步主题,但现在它们不同步,将会发生什么。
这甚至可能吗?还是复制只能以一种方式起作用-即您必须具有仅从主群集写入的源主题,并且复制到的位置是只读的?
我的第二个问题是如何使复制器容错,我是否在分布式模式下以每台服务器一个连接工作程序运行它-在这种情况下,它将使每个集群两个连接工作程序?