Подійно-керована архітектура (EDA) є шаблон розробки програмного забезпечення, який дозволяє системам виявляти, обробляти, керувати та реагувати на події в реальному часі, коли вони відбуваються. За допомогою EDA, коли відбувається друга подія, інформація про цю подію надсилається всім програмам, системам і людям, яким вона потрібна для реагування в режимі реального часу.
Архітектура, керована подіями використовує події для запуску та зв’язку між роз’єднаними службами і поширений у сучасних програмах, створених за допомогою мікросервісів. Подія — це зміна стану або оновлення, наприклад розміщення товару в кошику для покупок на веб-сайті електронної комерції.
Подієво-кероване програмування (EDP) є парадигма програмування, де зовнішні події визначають потік виконання програми. Ці події мають різні форми: дії користувача (наприклад, натискання кнопок, введення з клавіатури), системні події (наприклад, завершене завантаження файлу), повідомлення від інших програм, вихідні дані датчиків тощо.
Оскільки мікросервіси, як правило, є компонентами більшого рішення, потрібен спосіб їх координації, щоб працювати як єдина система. У керованій подіями архітектурі кожен з них одночасно є видавцем і передплатником сховища даних.
MVC описує великомасштабну структуру, EventDrivenProgramming описує, як керується потоком. Можна використовувати обидва одночасно. Події насправді не контролюють потік, окрім запиту на дії, наприклад запиту відкрити нове вікно форми.
Ось приклад керованої подіями архітектури для a платформу для обміну поїздками, як-от Uber. Система включає такі компоненти, як додатки для пасажирів, додатки для водіїв, платіжну систему та диспетчерську службу. Події в цій системі можуть представляти різні взаємодії та зміни стану. Подія: пасажир просить про проїзд.