В событии нужны стабильный event_id, тип, версия схемы, время и бизнес-данные, необходимые потребителю. Состав определяется контрактом, а не сериализацией всей внутренней модели.
Что конкретно писать в сообщение Kafka? Какие поля передавать консьюмерам?
В событии нужны стабильный event_id, тип, версия схемы, время и бизнес-данные, необходимые потребителю. Состав определяется контрактом, а не сериализацией всей внутренней модели.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В событии нужны стабильный event_id, тип, версия схемы, время и бизнес-данные, необходимые потребителю. Состав определяется контрактом, а не сериализацией всей внутренней модели.
Ключ Kafka выбирайте по требуемому порядку, например по aggregate_id. Для трассировки можно добавить correlation/causation ID, не помещая секреты и лишние персональные данные. Разделяйте событие о факте и команду выполнить действие. Изменения схемы должны сохранять совместимость, а повторная доставка — обрабатываться по исходному event_id.