события изменения агрегатов и есть сервисы "проекции", которые вычитывают интересующие их события.
В сервисах "проекциях" я хочу быть уверенным: а) что они не отстают от актуальных данных больше чем на N-сообщений, б) сервис публикующий события "жив-здоров"
Есть идея использовать heartbeat-ы:
1) на стороне сервиса-отправителя, мы можем гарантировать отправку сообщений N-раз в сек (это может быть реальное событие или, если не было никаких изменений, просто тех. событие heartbeat)
2) на сторое сервиса-получателя можем ожидать, что к нам будут поступать сообщения с частотой не реже N/2 в сек (к примеру) и если сообщения не приходят, то уже выполнять какие-то действия
Собственно вопросы:
1) Норм ли эта идея?
2) Heartbeat-сообщения публиковать в целевой топик с событиями или отдельный служебный с сжатием по ключу? Можно ли быть уверенным, что если мне поступают сообщения из спец. топика с ожидаемой частотой, то и с целевыми топиком/партицией тоже все ок?
мб лаг мониторить просто?
Что-то похожее делаем. Вроде норм. Но на продакшн пока не клали. Писать хартбиты имхо в тот же топик.
А что будет делать читающий сервис если заметит пропадание хартбитов? Какая бизнес задача будет решена?
Обсуждают сегодня