Чому EDA знижує зв'язаність між сервісами?
EDA (Event-Driven Architecture) знижує зв'язаність між сервісами, тому що сервіси не звертаються одне до одного напряму, а взаємодіють через події, що передаються через брокер повідомлень.
1. Немає прямих залежностей
Видавець події («OrderCreated») не знає, хто її отримає і як відреагує. Він просто публікує факт - решту робить інфраструктура. Це усуває прямі виклики на кшталт REST-запитів і прибирає залежність від чужих API.
2. Гнучкість підписників
Підписники можуть змінюватися, додаватися чи видалятися без зміни коду видавця. Наприклад, до події «Оплату здійснено» можна пізніше підключити сервіс аналітики чи сповіщень - інші сервіси цього не помітять.
3. Ізольований розвиток
Кожен сервіс розвивається незалежно: своя логіка, схема даних, мова, частота оновлень. Єдиний контракт - структура події.
4. Буферизація і стійкість
Брокер повідомлень приймає події, навіть якщо споживач тимчасово недоступний, тим самим прибираючи жорстку синхронну залежність «відправник → отримувач».
Підсумок:
У EDA сервіси пов'язані через події, а не напряму, тому кожен із них автономний, легко замінюваний і не ламає інших за змін.
Коротка відповідь
Для співбесідиКоротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.