Какие подходы используете для иницилизации "нулевого" состояния для нового микросервиса в экосистеме Kafka?

Рейтинг: 0Ответов: 1Опубликовано: 16.03.2023

Стандартная EDA архитектура с Kafka. События удаляются через какое-то время (пусть будет неделя).

Собственно, каждый микросервис по получении событий собирает копию тех данных, которые ему нужны от других микросервисов (Пусть, например, будет формирование некоторой информации о новых пользователях).

Вопрос: При добавлении нового сервиса в экосистему, как ему до-обновиться до текущего рабочего состояния с необходимыми данными от других микросервисов, если события уже были удалены? Какие подходы вы используете?

Ответы

▲ 2Принят

Кафка это не БД событий, а всего лишь их транспорт (и распределитель).

Удаление событий через неделю говорит нам о том, что эти события более не актуальны (и никому не должны быть интересны).

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