
Архітектура мікросервісів
Декомпозиція сервісів, API gateway, service discovery, розподілені транзакції, патерни стійкості, основи Kubernetes (deployments, services, config)
1Що таке патерн Bounded Context у Domain-Driven Design, застосований до мікросервісів?
Що таке патерн Bounded Context у Domain-Driven Design, застосований до мікросервісів?
Відповідь
Bounded Context визначає явну межу навколо доменної моделі з власною всюдисущою мовою та власною базою даних. В архітектурі мікросервісів кожен Bounded Context зазвичай стає незалежним розподіленим мікросервісом. Це забезпечує автономність даних і запобігає спільному використанню моделей між сервісами. Наприклад, сутність User у контексті Profile може ділити ID із сутністю Buyer у контексті Ordering, але вони залишаються окремими моделями з власними атрибутами та бізнес-логікою.
2Яка основна роль API Gateway в архітектурі мікросервісів?
Яка основна роль API Gateway в архітектурі мікросервісів?
Відповідь
API Gateway слугує єдиною точкою входу для груп мікросервісів, діючи як reverse proxy, що маршрутизує клієнтські запити до відповідних сервісів. Він реалізує патерн Backend for Frontend (BFF) і обробляє наскрізні аспекти, як-от автентифікація, термінація SSL, кешування та агрегація відповідей. Це спрощує комунікацію client-to-microservice, уникаючи численних прямих викликів і централізуючи логіку маршрутизації.
3Як працює service discovery у Docker Compose?
Як працює service discovery у Docker Compose?
Відповідь
Docker Compose використовує внутрішній DNS для service discovery. Кожен сервіс, визначений у docker-compose.yml, доступний за його іменем сервісу як hostname. Наприклад, якщо сервіс Redis названий 'basketdata', інші сервіси можуть під'єднуватися до нього через ConnectionString=basketdata. Docker автоматично розв'язує це ім'я у внутрішню IP-адресу контейнера у спільній мережі Docker, усуваючи потребу хардкодити IP-адреси.
Який принцип патерну Circuit Breaker з Polly у .NET?
Як налаштувати retry policy з Polly для HttpClient у .NET?
+22 питань зі співбесід
Інші теми співбесід .NET
Основи C#
LINQ & Delegates
Основи мови C#
Основи ASP.NET Core
Життєвий цикл запиту в ASP.NET Core
Configuration & Settings
Життєвий цикл застосунку
Dependency Injection
Entity Framework Core
Minimal APIs
Розробка Web API
Async в ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Серіалізація JSON
Entity Framework Core просунутий
Розширені можливості C#
Clean Architecture
Logging, Monitoring & Observability
Модульне тестування та xUnit
Інтеграційні тести
Docker & Containerization
Керування пакетами NuGet
Memory Management & GC
Реактивне програмування
Async/await і патерни
.NET Design Patterns
Оптимізація продуктивності
Безпека та Best Practices
SignalR і реальний час
Опануй .NET для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно