Sobes.tech
Middle
23

Jak zapewnić kontrolę kompletności dostarczania wiadomości między dwoma klastrami Kafka przez bramę bezpieczeństwa (bez możliwości modyfikacji bramy)?

Firmy, w których zadano pytania
Сбер. IT

Odpowiedź od AI

sobes.tech AI

Для контроля полноты доставки сообщений между двумя кластерами Kafka через шлюз безопасности, который нельзя модифицировать, можно использовать следующие подходы:

  1. Идентификация сообщений и подтверждения: Включить уникальные идентификаторы сообщений и использовать механизм подтверждений на уровне приложений. Например, отправитель может сохранять ID отправленных сообщений, а получатель — подтверждать получение.

  2. Использование Kafka Connect с Source и Sink коннекторами: Если шлюз пропускает трафик, можно настроить коннекторы для репликации данных с проверкой оффсетов.

  3. Мониторинг оффсетов и метрик: Отслеживать оффсеты в обоих кластерах, чтобы убедиться, что сообщения не теряются.

  4. Реализация логики повторной отправки на уровне клиента: При отсутствии подтверждения о доставке — повторять отправку.

  5. Использование внешнего хранилища для контроля состояния: Например, хранить статус доставки сообщений в базе данных или распределённом кеше.

Поскольку шлюз нельзя менять, все механизмы контроля должны быть реализованы на уровне приложений и Kafka-клиентов, обеспечивая идемпотентность и возможность повторной отправки сообщений.