
Microservices
서비스 아키텍처, discovery, 통신, API gateway, circuit breaker, observability, structured logging, metrics, distributed tracing
24 면접 질문·
Senior
1모놀리식 아키텍처와 microservices 아키텍처의 주요 차이점은 무엇입니까?
1
모놀리식 아키텍처와 microservices 아키텍처의 주요 차이점은 무엇입니까?
답변
microservices 아키텍처에서는 애플리케이션이 독립적인 서비스로 분해되어 각각 개별적으로 개발, 배포, 확장할 수 있으며, 이는 모든 코드가 단일 프로세스에 있는 모놀리스와 다릅니다. 각 microservice는 자체 데이터베이스를 가지며 API를 통해 통신합니다. 이를 통해 확장성, 회복력, 기술적 유연성이 향상되지만 운영 복잡성이 증가합니다.
2microservices 아키텍처에서 service discovery의 주요 역할은 무엇입니까?
2
microservices 아키텍처에서 service discovery의 주요 역할은 무엇입니까?
답변
service discovery는 서비스가 하드코딩된 구성 없이 동적으로 서로를 찾을 수 있게 합니다. 서비스는 IP 주소와 포트를 가지고 registry(Consul, etcd, Eureka)에 등록합니다. 클라이언트는 registry에 질의하여 사용 가능한 인스턴스를 얻습니다. 이는 수평 확장, 지속적 배포, 인스턴스 장애 시 회복력을 용이하게 합니다.
3microservices 아키텍처에서 ACID 트랜잭션 없이 분산 데이터 일관성을 관리하는 pattern은 무엇입니까?
3
microservices 아키텍처에서 ACID 트랜잭션 없이 분산 데이터 일관성을 관리하는 pattern은 무엇입니까?
답변
Saga pattern은 일련의 로컬 트랜잭션을 통해 분산 데이터 일관성을 관리합니다. 각 서비스는 자신의 트랜잭션을 실행하고 이벤트를 발행합니다. 단계가 실패하면 보상 트랜잭션이 이전 변경을 되돌립니다. 구현은 오케스트레이션(중앙 코디네이터) 또는 코레오그래피(pub/sub 이벤트) 방식이 가능합니다. 이는 분산 락 없이 최종 일관성을 보장합니다.
4
Consul로 service discovery를 구현하기 위해 일반적으로 사용되는 Go 라이브러리는 무엇입니까?
5
microservices 간 동기 통신(REST/gRPC)과 비동기 통신(messaging)의 주요 차이점은 무엇입니까?
+21 면접 질문
기타 Go 면접 주제
Go 기초
Junior
25개 질문Go 데이터 구조
Junior
20개 질문Go 인터페이스
Junior
18개 질문에러 처리
Junior
20개 질문Goroutine 기초
Junior
20개 질문Channels
Junior
22개 질문Go Modules
Mid-Level
18개 질문HTTP 서버
Mid-Level
24개 질문HTTP 클라이언트
Mid-Level
18개 질문JSON 인코딩
Mid-Level
20개 질문Database/SQL
Mid-Level
22개 질문context 패키지
Mid-Level
20개 질문Testing
Mid-Level
22개 질문동시성 패턴
Mid-Level
24개 질문동기화 프리미티브
Mid-Level
22개 질문Go 웹 프레임워크
Mid-Level
20개 질문REST API 설계
Mid-Level
20개 질문gRPC
Mid-Level
22개 질문Reflection
Senior
20개 질문메모리 관리
Senior
24개 질문성능 최적화
Senior
22개 질문Generics
Senior
20개 질문Go Design Patterns
Senior
24개 질문보안 및 인증
Senior
24개 질문Docker & Containerization
Senior
20개 질문Kubernetes Basics
Senior
22개 질문고급 Go
Senior
20개 질문CLI 개발
Senior
20개 질문