У меня есть два кластера Кафки, один в Лондоне и другой в Нью-Йорке. У каждого есть три экземпляра Zookeeper и два брокера. В каждом регионе используются две темы: тема InputData и тема OutputData. Я хочу, чтобы каждый регион копировал данные из другого, т.е. чтобы они эффективно использовали глобальную тему Inputdata и OutputData. Если NYC добавляет к этому два сообщения, оно должно быть скопировано в EMEA. Если EMEA добавляет три сообщения, они должны отправляться в Нью-Йорк.
Мой вопрос: как мне этого добиться? Работает ли двусторонняя репликация, или вы попали в бесконечный цикл / есть проблемы с параллелизмом. То есть, что происходит, если NYC пишет сообщения локально, в то же время EMEA пишет свои сообщения, тогда репликатор пытается синхронизировать темы, но теперь они не синхронизированы.
Это вообще возможно? Или репликация может работать только в одном направлении - то есть у вас должна быть исходная тема, написанная только из основного кластера, а места, в которые она реплицируется, доступны только для чтения?
Мой второй вопрос: как мне сделать отказоустойчивым репликатор, запустить ли я его в распределенном режиме с одним рабочим соединением на сервер - что в этом случае приведет к двум рабочим соединениям на кластер?