Избегайте непоследовательных повторяющихся сообщений на Kafka - PullRequest
1 голос
/ 14 мая 2019

Здесь у нас есть сервис, который производит приоритетные билеты на Kafka, и второй сервис, в котором операторы-люди используют эти билеты для звонков клиентам. Билеты генерируются ежедневно. Проблема в том, что некоторые клиенты могут быть отправлены в Кафку за несколько дней, и мы не хотим звонить клиенту дважды.

В настоящее время мы думаем о том, чтобы сохранить таблицу для хранения уже обработанных клиентов и пропустить их в случае дублирования. Другой вариант - Кафка автоматически пропускает эти дубликаты. Итак, вопрос в том, можно ли сказать Кафке, чтобы он не дублировал сообщения, уже обработанные при наличии ключа идентификации?

1 Ответ

2 голосов
/ 15 мая 2019

Повторяющиеся сообщения всегда должны обрабатываться потребителем сообщений.Там нет технологии, которая полностью предотвращает дубликаты, которая также гарантирует доставку.(Как указывает в своем комментарии cricket_007, это не особенность Kafka, и, учитывая это, ответственность должна упасть ниже по течению)

Как минимум, каждое сообщение должно иметь уникальный идентификатор, чтобы потребитель могчтобы определить, видел ли он это раньше.Распространенным решением является наличие на стороне потребителя таблицы, которая отслеживает обработанные сообщения по их уникальному идентификатору.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...