
Microservices
Архітектура сервісів, discovery, комунікація, API gateway, circuit breaker, observability, structured logging, metrics, distributed tracing
1Яка головна різниця між монолітною архітектурою та архітектурою microservices?
Яка головна різниця між монолітною архітектурою та архітектурою microservices?
Відповідь
В архітектурі microservices застосунок розкладається на незалежні сервіси, які можна розробляти, розгортати та масштабувати окремо, на відміну від моноліту, де весь код знаходиться в єдиному процесі. Кожен microservice має власну базу даних і взаємодіє через API. Це забезпечує кращу масштабованість, стійкість і технологічну гнучкість, але вносить підвищену операційну складність.
2Яка головна роль service discovery в архітектурі microservices?
Яка головна роль service discovery в архітектурі microservices?
Відповідь
service discovery дозволяє сервісам динамічно знаходити одне одного без жорстко закодованої конфігурації. Сервіси реєструються в registry (Consul, etcd, Eureka) зі своєю IP-адресою та портом. Клієнти опитують registry, щоб отримати доступні екземпляри. Це полегшує горизонтальне масштабування, безперервне розгортання та стійкість у разі відмови екземпляра.
3В архітектурі microservices який патерн керує узгодженістю розподілених даних без ACID-транзакції?
В архітектурі microservices який патерн керує узгодженістю розподілених даних без ACID-транзакції?
Відповідь
Патерн Saga керує узгодженістю розподілених даних через послідовність локальних транзакцій. Кожен сервіс виконує свою транзакцію та публікує подію. Якщо крок зазнає невдачі, компенсуючі транзакції скасовують попередні зміни. Реалізації можуть бути оркестрованими (центральний координатор) або хореографованими (pub/sub події). Це гарантує кінцеву узгодженість без розподілених блокувань.
Яка бібліотека Go зазвичай використовується для реалізації service discovery з Consul?
Яка головна різниця між синхронною (REST/gRPC) та асинхронною (messaging) комунікацією між microservices?
+21 питань зі співбесід
Інші теми співбесід Go
Основи Go
Структури даних Go
Інтерфейси Go
Обробка помилок
Основи goroutines
Channels
Go Modules
HTTP-сервер
HTTP-клієнт
Кодування JSON
Database/SQL
Пакет context
Testing
Патерни конкурентності
Примітиви синхронізації
Веб-фреймворки Go
Проєктування REST API
gRPC
Reflection
Керування пам'яттю
Оптимізація продуктивності
Generics
Go Design Patterns
Безпека та автентифікація
Docker & Containerization
Kubernetes Basics
Просунутий Go
Розробка CLI
Опануй Go для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно