Skip to main content

Як визначити межі мікросервісу?

Межі мікросервісу визначаються тим, яку бізнес-функцію він виконує цілком і незалежно. Головний орієнтир - бізнес-логіка, а не технічна структура.

1. Орієнтуйся на предметну область (domain)

Використовується принцип bounded context з DDD: один сервіс = одна чітка частина бізнесу. Приклад: «Користувачі», «Замовлення», «Платежі», «Доставка». Кожен сервіс відповідає лише за свій контекст і не втручається в чужий.

2. Шукай природні залежності

Якщо два модулі часто змінюються разом - вони, найімовірніше, мають бути в одному сервісі. Якщо живуть незалежно і рідко взаємодіють - варто розділити.

3. Дивись на дані та володіння ними

Кожен сервіс повинен володіти своїми даними і не звертатися напряму до чужих баз. Межа часто проходить там, де змінюється «власник» даних.

4. Мінімізуй крос-сервісні виклики

Якщо два сервіси обмінюються надто великою кількістю запитів - можливо, межу обрано невдало. Хороший сервіс - той, що більшу частину роботи виконує сам.

5. Роби сервіс завершеним за змістом

Він повинен уміти виконати бізнес-функцію від початку до кінця, без прямої залежності від інших. Приклад: сервіс «Платежі» має сам перевіряти оплату, а не питати дозволу в «Замовлень».

Підсумок:

Межа мікросервісу проходить там, де закінчується його бізнес-відповідальність. Він повинен бути автономним, володіти своїми даними і виконувати цілісне завдання без тісного зв'язку з іншими.

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

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

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