Событийно-ориентированная архитектура: принципы и преимущества EDA
Событийно-ориентированная архитектура (EDA) строится на обмене событиями вместо прямых синхронных вызовов. Разбираем компоненты, плюсы и минусы подхода и инструменты Yandex Cloud для его реализации.


Событийно-ориентированная архитектура, или Event-Driven Architecture (EDA), — подход, при котором компоненты системы обмениваются не прямыми синхронными вызовами, а событиями: сигналами об изменении состояния. Один сервис публикует событие, другие его получают и выполняют нужные действия. Источник события не обязан знать, кто его обработает, поэтому компоненты можно развивать и масштабировать независимо.
Из чего состоит EDA
- Producer — источник события: сервис заказов, платёжный модуль, мобильное приложение, IoT-устройство.
- Транспортный слой — брокер, шина, маршрутизатор или потоковая платформа, которая принимает событие и передаёт дальше.
- Consumer — сервис, который получает событие и реагирует на него.
На практике используют две модели: публикации и подписки, когда на одно событие подписаны несколько потребителей, и потоковую передачу событий, например через Apache Kafka. При проектировании нужно решить, что нести в событии: полный набор атрибутов (меньше дополнительных запросов, но тяжелее контракт) или только идентификатор (легче событие, но потребитель сильнее зависит от внешнего источника данных).
Чем EDA отличается от монолита
В монолите модули взаимодействуют напрямую и синхронно, а любое изменение затрагивает всю систему. В EDA компонент публикует событие и не ждёт немедленного ответа, поэтому можно подключать новых потребителей, не меняя источник. Зато монолит проще отлаживать на старте, а в EDA путь запроса распределён между очередями.
Преимущества и недостатки
Плюсы: слабая связанность компонентов, независимое масштабирование (например, при росте потока заказов в праздники) и работа в реальном времени без постоянного опроса систем.
Минусы: более высокая сложность, отложенная согласованность данных и необходимость отдельно проектировать доставку, повторы и обработку ошибок. Даже механизмы вроде dead letter exchange в RabbitMQ не решают проблему автоматически.
Мониторинг и инструменты в Yandex Cloud
Для отладки одних логов недостаточно: нужны метрики (Prometheus, Yandex Managed Service for Prometheus), централизованные логи (Yandex Monium Logs) и трассировка (Yandex Monium Traces).
Для построения самой цепочки в Yandex Cloud используют Yandex API Gateway для приёма внешних событий, Yandex Message Queue для очередей, Yandex Cloud Functions и Serverless Containers для обработчиков, Yandex Data Streams для потоков, YDB для хранения состояния, Yandex Workflows для оркестрации и EventRouter для маршрутизации событий подписчикам.
Типичные сценарии EDA — электронная коммерция (создание заказа запускает оплату, обновление остатков, уведомления и аналитику), обработка данных в реальном времени и мониторинг с оповещениями.
Источник: https://yandex.cloud/ru/blog/event-driven-architecture

Автор новости
Дмитрий Смирнов
Читайте также

Сбой Beget: что известно и что делать клиентам хостинга
3 ноября 2026 г.

Deepgram приобретает создателя Pipecat — компанию Daily
29 октября 2026 г.

Google выводит рекламу в AI Mode на международные рынки на фоне замедления роста рекламы в Search
28 октября 2026 г.

Google представила Connected Apps Platform для подключения приложений к Search и Gemini
28 октября 2026 г.
Комментарии(0)
Оставьте комментарий
Войдите, чтобы присоединиться к обсуждению