У меня есть kafka topi c HrEvents
, который содержит много сообщений Hire
, Fire
, Quit
, Promotion
и Demotion
. Каждое сообщение о событии HR имеет свойство employee_id
(также ключ, используемый для разбиения) и свойство data
, которое может содержать произвольные сведения о событии HR.
Проблема заключается в том, что различные data
большие двоичные объекты то, что мое приложение должно быть в состоянии обработать, плохо документировано, и есть вероятность, что - в любой момент - может потребоваться событие HR, которое приложение не может обработать.
Важно, что - для каждого employee_id
- приложение обрабатывает все кадровые события в порядке. Также важно, чтобы после такого сбоя обработки, затрагивающего один employee_id
, все HR-события для всех других employee_id
с могли продолжаться.
Сбой HR событие и все последующие HR-события для того же employee_id
должны быть опубликованы в очереди недоставленных сообщений. После того, как приложение было исправлено - и добавлена поддержка другой недокументированной формы блоба data
- эти HR-события можно использовать из очереди недоставленных писем.
Я понимаю, что для этого также необходимо поддерживать некоторую форму ключевой черный список потребителя, внутри которого хранится employee_id
s, для которого в очереди недоставленных сообщений хранится хотя бы одно неиспользованное сообщение о событии HR.
Существуют ли библиотеки решений / java, которые позволяют мне реализовать решение этой проблемы?
Пожалуйста, прости мое невежество, но я пытаюсь найти решение для проблемы, описанной выше, но я подозреваю, что не могу искать с правильным жаргоном. Не стесняйтесь обучать меня.