В соответствии с решением, упомянутым здесь kafka-mirror-maker-fail-to-реплицировать-потребителя-смещение-тема .Мне удалось без проблем запустить создание зеркала в кластерах DC1 (кластер Live Kafka) и DC2 (кластер Backup Kafka).
Похоже, что он также может синхронизировать тему __consumer_offsets
в кластере DC2 из кластера DC1..
Выпуск
Если я закрываю потребителя для DC1 и указываю того же потребителя (тот же group_id) на DC2, он снова читает те же сообщения, даже если производитель зеркал может синхронизироватьсмещения для этой темы и разделов.
Я вижу, что LOG-END-OFFSET отображается правильно, но CURRENT-OFFSET по-прежнему указывает на старую вызывающую LAG.
Пример
- Mirror Maker все еще работает в DC2.
Перед отключением потребителя в DC1
//DC1 __consumer_offsets topic
+-----------------------------------------------------------------+
| TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG |
+-----------------------------------------------------------------+
| gs.suraj.test.1 0 10626 10626 0 |
| gs.suraj.test.1 2 10619 10619 0 |
| gs.suraj.test.1 1 10598 10598 0 |
+-----------------------------------------------------------------+
Остановить потребителя вDC1
Перед запуском потребителя в DC2
//DC2 __consumer_offsets topic
+-----------------------------------------------------------------+
| TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG |
+-----------------------------------------------------------------+
| gs.suraj.test.1 0 9098 10614 1516 |
| gs.suraj.test.1 2 9098 10614 1516 |
| gs.suraj.test.1 1 9098 10615 1517 |
+-----------------------------------------------------------------+
Из-за этой задержки, когда я запускаю того же потребителя в DC2 в чтении 4549 сообщенийопять же, что не должно происходить, так как он уже прочитан зафиксирован в DC1и у производителя зеркал есть синхронизация __consumer_offsets
темы от DC1 до DC2
Пожалуйста, дайте мне знать, если я что-то здесь упускаю.