Які ключові елементи входять в EDA (publisher, subscriber, event bus)?
У подієво-орієнтованій архітектурі (Event-Driven Architecture, EDA) є три ключові елементи, які забезпечують передавання і обробку подій:
1. Publisher (видавець події)
Компонент, який створює і надсилає подію за зміни стану. Він не знає, хто цю подію отримає - просто публікує факт:
«Оплату здійснено», «Нове замовлення створено».
Приклад: сервіс замовлень після створення замовлення публікує OrderCreated.
2. Event Bus / Message Broker (шина подій)
Проміжний шар, який приймає, зберігає і доставляє події підписникам. Він забезпечує надійність, маршрутизацію і масштабованість.
Приклади інструментів: Apache Kafka, RabbitMQ, NATS, ActiveMQ, AWS SNS/SQS.
Функції:
- маршрутизація подій за темами,
- буферизація за пікових навантажень,
- гарантована доставка.
3. Subscriber / Consumer (підписник)
Компонент, який підписується на події і реагує на них. Він може:
- оновити свої дані,
- викликати внутрішню бізнес-логіку,
- згенерувати нові події.
Приклад: сервіс сповіщень підписаний на OrderCreated і надсилає клієнту листа з підтвердженням.
Підсумкова схема
Publisher → Event Bus → Subscriber- Видавець публікує подію.
- Шина подій передає її всім підписникам.
- Кожен підписник обробляє подію незалежно.
Висновок:
Ключові елементи EDA - Publisher, Event Bus і Subscriber. Разом вони створюють гнучку, асинхронну екосистему, де сервіси спілкуються не напряму, а через потік подій.
Коротка відповідь
Для співбесідиКоротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.