Продвинутый
В чем разница между Event Notification и Event-Carried State Transfer?
Это два подхода к передаче событий в микросервисах (через Kafka/RabbitMQ):
Event Notification (Уведомление):
Событие содержит минимум данных (только факт).
Пример: {"event": "OrderCreated", "order_id": 123}.
Минус: Получателю придется делать синхронный REST-запрос к отправителю, чтобы узнать детали заказа (сумму, товары).
Event-Carried State Transfer (Передача состояния):
Событие содержит все изменившиеся данные.
Пример: {"event": "OrderCreated", "order_id": 123, "total": 500, "items": [...]}.
Плюс: Получателю не нужно дергать чужой API. Он сохраняет нужные данные в свою локальную БД (репликация). Система становится полностью асинхронной и отказоустойчивой.