Предположим что есть старый древний монолит с которым надо написать интеграцию через кафку. Вижу 2 пути - натравить какой-нибудь change data capature типа dibezium-a который будет слушать бинлог БД и при изменении записей - писать события в очередь (собственно, уже накидал такой прототип). Или встроить продюсеры прямо в монолит и продюсировать прям нужные события в нужный момент. Вижу + и - обоих вариантов, каково мнение более опытных товарищей?
ИМХО более гибкое решение это написать код. Но его скорее всего реализацию долго писать надо будет. Делать реализацию отправки данных из БД скорее быстрее можно сделать. Так что тут вопрос вангования. Если один раз сделать и забыть, то через БД. Если постоянно понадобиться изменять, то в коде.
Угу, из кода я могу прям удобное мне сообщение формировать - с данными о том какой юзер это делал и т.д. Но для этого придется влезть в код мнонлита с 5й жавой и в ней копаться, и то риск что-то пропустить. А дибезиумом я точно отловлю все изменения в БД - но обрабатывать и интерпретировать их может оказаться не так удобно.
Обсуждают сегодня