Sobes.tech
Middle
24

¿Cómo garantizar el control de la integridad de los mensajes entregados entre dos clústeres de Kafka a través de un gateway de seguridad (sin posibilidad de modificar el gateway)?

Empresas donde se preguntó
Сбер. IT

Respuesta de la IA

sobes.tech AI

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

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

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

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

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

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

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