⚡ События вместо вызовов: как работает EDA В событийно-ориентированной архитектуре компоненты не вызывают друг друга напрямую. Издатель публикует факт — «заказ оформлен» — и продолжает работу, не зная, кто и когда его прочитает. Падение одного потребителя не блокирует остальных, а новые подписчики подключаются без изменения издателя. Событие и команда — разные вещи. Событие сообщает, что произошло, и адресовано никому конкретно; команда приказывает, что сделать, и требует получателя. Смешение этих понятий — источник скрытых зависимостей между сервисами. Exactly-once доставка — дорогая иллюзия. На практике выбирают at-least-once и делают обработчики идемпотентными: повторное событие не должно менять результат. ⚠️ Плата за асинхронность — итоговая согласованность и сложная отладка: стек-трейса нет, есть последовательность фактов, которую приходится собирать по correlation id. 🔗 Подробнее: https://agaltsovav.ru/docs/architecture/event-driven-architecture/