Event-Driven Architecture (EDA) — архітектурний стиль, де сервіси взаємодіють через події, а не через прямі виклики. Одна подія (OrderPlaced) може запустити кілька незалежних обробників паралельно: відправку email, оновлення складу, запис аналітики.
Переваги
Слабке зв'язування — видавець події не знає про підписників
Масштабованість — обробники можна масштабувати незалежно
Розширюваність — новий обробник підключається без змін у видавця
Компоненти
Producer — генерує і публікує подію
Event Broker — маршрутизує (Kafka, RabbitMQ)
Consumer — підписується і обробляє
Складнощі
Відлагодження: складніше відстежити потік виконання
Eventual Consistency: стан різних сервісів тимчасово розходиться
Гарантії доставки: at-least-once потребує ідемпотентних обробників