Що означає «слабка зв'язаність» (loose coupling) між сервісами?
Слабка зв'язаність (loose coupling) - це принцип, за якого мікросервіси мінімально залежать одне від одного. Кожен сервіс можна змінювати, перезапускати або замінювати без впливу на інші.
Суть
Зв'язок між сервісами будується через чіткі інтерфейси (API), а не через спільний код чи базу даних. Один сервіс знає лише що робить інший, але не як він влаштований.
Приклад:
Сервіс замовлень звертається до API платежів POST /payments,
але йому не важливо, на чому написаний сервіс платежів і як той зберігає дані.
Навіщо це потрібно
- Дозволяє розвивати й оновлювати сервіси незалежно.
- Підвищує стійкість - збій в одному сервісі не ламає інші.
- Спрощує масштабування і заміну технологій.
Як досягається
- Спілкування лише через API або черги повідомлень.
- Ізольовані бази даних.
- Контракти і версії API - щоб зміни не ламали інших.
- Використання асинхронних подій замість прямих викликів, де це можливо.
Підсумок:
Слабка зв'язаність - це коли сервіси спілкуються, але не залежать. Вони пов'язані логічно, але ізольовані технічно - як самостійні учасники однієї екосистеми.
Коротка відповідь
Для співбесідиКоротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.