Go

Microservices

Архітектура сервісів, discovery, комунікація, API gateway, circuit breaker, observability, structured logging, metrics, distributed tracing

24 питань зі співбесід·
Senior
1

Яка головна різниця між монолітною архітектурою та архітектурою microservices?

Відповідь

В архітектурі microservices застосунок розкладається на незалежні сервіси, які можна розробляти, розгортати та масштабувати окремо, на відміну від моноліту, де весь код знаходиться в єдиному процесі. Кожен microservice має власну базу даних і взаємодіє через API. Це забезпечує кращу масштабованість, стійкість і технологічну гнучкість, але вносить підвищену операційну складність.

2

Яка головна роль service discovery в архітектурі microservices?

Відповідь

service discovery дозволяє сервісам динамічно знаходити одне одного без жорстко закодованої конфігурації. Сервіси реєструються в registry (Consul, etcd, Eureka) зі своєю IP-адресою та портом. Клієнти опитують registry, щоб отримати доступні екземпляри. Це полегшує горизонтальне масштабування, безперервне розгортання та стійкість у разі відмови екземпляра.

3

В архітектурі microservices який патерн керує узгодженістю розподілених даних без ACID-транзакції?

Відповідь

Патерн Saga керує узгодженістю розподілених даних через послідовність локальних транзакцій. Кожен сервіс виконує свою транзакцію та публікує подію. Якщо крок зазнає невдачі, компенсуючі транзакції скасовують попередні зміни. Реалізації можуть бути оркестрованими (центральний координатор) або хореографованими (pub/sub події). Це гарантує кінцеву узгодженість без розподілених блокувань.

4

Яка бібліотека Go зазвичай використовується для реалізації service discovery з Consul?

5

Яка головна різниця між синхронною (REST/gRPC) та асинхронною (messaging) комунікацією між microservices?

+21 питань зі співбесід

Опануй Go для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно