.NET

마이크로서비스 아키텍처

서비스 분해, API gateway, service discovery, 분산 트랜잭션, 복원력 패턴, Kubernetes 기초(deployments, services, config)

25 면접 질문·
Senior
1

마이크로서비스에 적용된 Domain-Driven Design의 Bounded Context 패턴이란 무엇입니까?

답변

Bounded Context는 자체적인 유비쿼터스 언어와 데이터베이스를 가진 도메인 모델 주위에 명시적인 경계를 정의합니다. 마이크로서비스 아키텍처에서 각 Bounded Context는 일반적으로 독립적인 분산 마이크로서비스가 됩니다. 이는 데이터 자율성을 보장하고 서비스 간 모델 공유를 방지합니다. 예를 들어 Profile 컨텍스트의 User 엔티티는 Ordering 컨텍스트의 Buyer 엔티티와 ID를 공유할 수 있지만, 각자 고유한 속성과 비즈니스 로직을 가진 별개의 모델로 남아 있습니다.

2

마이크로서비스 아키텍처에서 API Gateway의 주요 역할은 무엇입니까?

답변

API Gateway는 마이크로서비스 그룹의 단일 진입점 역할을 하며, 클라이언트 요청을 적절한 서비스로 라우팅하는 reverse proxy로 작동합니다. Backend for Frontend(BFF) 패턴을 구현하고 인증, SSL 종료, 캐싱, 응답 집계와 같은 횡단 관심사를 처리합니다. 이는 여러 직접 호출을 피하고 라우팅 로직을 중앙화하여 client-to-microservice 통신을 단순화합니다.

3

Docker Compose에서 service discovery는 어떻게 작동합니까?

답변

Docker Compose는 service discovery에 내부 DNS를 사용합니다. docker-compose.yml에 정의된 각 서비스는 서비스 이름을 호스트 이름으로 사용하여 접근할 수 있습니다. 예를 들어 Redis 서비스의 이름이 'basketdata'인 경우 다른 서비스는 ConnectionString=basketdata를 통해 연결할 수 있습니다. Docker는 이 이름을 공유 Docker 네트워크상의 컨테이너 내부 IP 주소로 자동으로 해석하여 IP 주소를 하드코딩할 필요가 없도록 합니다.

4

.NET에서 Polly를 사용한 Circuit Breaker 패턴의 원리는 무엇입니까?

5

.NET에서 HttpClient용으로 Polly를 사용한 retry 정책을 구성하는 방법은?

+22 면접 질문

다음 면접을 위해 .NET을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기