Skip to main content

Які ключові елементи входять в 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 і надсилає клієнту листа з підтвердженням.

Підсумкова схема

javascript
PublisherEvent BusSubscriber
  1. Видавець публікує подію.
  2. Шина подій передає її всім підписникам.
  3. Кожен підписник обробляє подію незалежно.

Висновок:

Ключові елементи EDA - Publisher, Event Bus і Subscriber. Разом вони створюють гнучку, асинхронну екосистему, де сервіси спілкуються не напряму, а через потік подій.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.