# Microservices (Go) > 서비스 아키텍처, discovery, 통신, API gateway, circuit breaker, observability, structured logging, metrics, distributed tracing - 24 면접 질문 - Senior - [면접 질문: Go](https://sharpskill.dev/ko/technologies/go/interview-questions.md) ## 1. 모놀리식 아키텍처와 microservices 아키텍처의 주요 차이점은 무엇입니까? **답변** microservices 아키텍처에서는 애플리케이션이 독립적인 서비스로 분해되어 각각 개별적으로 개발, 배포, 확장할 수 있으며, 이는 모든 코드가 단일 프로세스에 있는 모놀리스와 다릅니다. 각 microservice는 자체 데이터베이스를 가지며 API를 통해 통신합니다. 이를 통해 확장성, 회복력, 기술적 유연성이 향상되지만 운영 복잡성이 증가합니다. ## 2. microservices 아키텍처에서 service discovery의 주요 역할은 무엇입니까? **답변** service discovery는 서비스가 하드코딩된 구성 없이 동적으로 서로를 찾을 수 있게 합니다. 서비스는 IP 주소와 포트를 가지고 registry(Consul, etcd, Eureka)에 등록합니다. 클라이언트는 registry에 질의하여 사용 가능한 인스턴스를 얻습니다. 이는 수평 확장, 지속적 배포, 인스턴스 장애 시 회복력을 용이하게 합니다. ## 3. microservices 아키텍처에서 ACID 트랜잭션 없이 분산 데이터 일관성을 관리하는 pattern은 무엇입니까? **답변** Saga pattern은 일련의 로컬 트랜잭션을 통해 분산 데이터 일관성을 관리합니다. 각 서비스는 자신의 트랜잭션을 실행하고 이벤트를 발행합니다. 단계가 실패하면 보상 트랜잭션이 이전 변경을 되돌립니다. 구현은 오케스트레이션(중앙 코디네이터) 또는 코레오그래피(pub/sub 이벤트) 방식이 가능합니다. 이는 분산 락 없이 최종 일관성을 보장합니다. ## 21개 추가 질문 이용 가능 - Consul로 service discovery를 구현하기 위해 일반적으로 사용되는 Go 라이브러리는 무엇입니까? - microservices 간 동기 통신(REST/gRPC)과 비동기 통신(messaging)의 주요 차이점은 무엇입니까? 무료로 가입하기: https://sharpskill.dev/ko/login ## 기타 Go 면접 주제 - [Go 기초](https://sharpskill.dev/ko/technologies/go/interview-questions/go-basics.md): 25개 질문, Junior - [Go 데이터 구조](https://sharpskill.dev/ko/technologies/go/interview-questions/go-data-structures.md): 20개 질문, Junior - [Go 인터페이스](https://sharpskill.dev/ko/technologies/go/interview-questions/go-interfaces.md): 18개 질문, Junior - [에러 처리](https://sharpskill.dev/ko/technologies/go/interview-questions/error-handling.md): 20개 질문, Junior - [Goroutine 기초](https://sharpskill.dev/ko/technologies/go/interview-questions/goroutines-basics.md): 20개 질문, Junior - [Channels](https://sharpskill.dev/ko/technologies/go/interview-questions/channels.md): 22개 질문, Junior - [Go Modules](https://sharpskill.dev/ko/technologies/go/interview-questions/go-modules.md): 18개 질문, Mid-Level - [HTTP 서버](https://sharpskill.dev/ko/technologies/go/interview-questions/http-server.md): 24개 질문, Mid-Level - [HTTP 클라이언트](https://sharpskill.dev/ko/technologies/go/interview-questions/http-client.md): 18개 질문, Mid-Level - [JSON 인코딩](https://sharpskill.dev/ko/technologies/go/interview-questions/json-encoding.md): 20개 질문, Mid-Level - [Database/SQL](https://sharpskill.dev/ko/technologies/go/interview-questions/database-sql.md): 22개 질문, Mid-Level - [context 패키지](https://sharpskill.dev/ko/technologies/go/interview-questions/context-package.md): 20개 질문, Mid-Level - [Testing](https://sharpskill.dev/ko/technologies/go/interview-questions/testing.md): 22개 질문, Mid-Level - [동시성 패턴](https://sharpskill.dev/ko/technologies/go/interview-questions/concurrency-patterns.md): 24개 질문, Mid-Level - [동기화 프리미티브](https://sharpskill.dev/ko/technologies/go/interview-questions/sync-primitives.md): 22개 질문, Mid-Level - [Go 웹 프레임워크](https://sharpskill.dev/ko/technologies/go/interview-questions/go-web-frameworks.md): 20개 질문, Mid-Level - [REST API 설계](https://sharpskill.dev/ko/technologies/go/interview-questions/rest-api-design.md): 20개 질문, Mid-Level - [gRPC](https://sharpskill.dev/ko/technologies/go/interview-questions/grpc.md): 22개 질문, Mid-Level - [Reflection](https://sharpskill.dev/ko/technologies/go/interview-questions/reflection.md): 20개 질문, Senior - [메모리 관리](https://sharpskill.dev/ko/technologies/go/interview-questions/memory-management.md): 24개 질문, Senior - [성능 최적화](https://sharpskill.dev/ko/technologies/go/interview-questions/performance-optimization.md): 22개 질문, Senior - [Generics](https://sharpskill.dev/ko/technologies/go/interview-questions/generics.md): 20개 질문, Senior - [Go Design Patterns](https://sharpskill.dev/ko/technologies/go/interview-questions/design-patterns.md): 24개 질문, Senior - [보안 및 인증](https://sharpskill.dev/ko/technologies/go/interview-questions/security-authentication.md): 24개 질문, Senior - [Docker & Containerization](https://sharpskill.dev/ko/technologies/go/interview-questions/docker-containerization.md): 20개 질문, Senior - [Kubernetes Basics](https://sharpskill.dev/ko/technologies/go/interview-questions/kubernetes-basics.md): 22개 질문, Senior - [고급 Go](https://sharpskill.dev/ko/technologies/go/interview-questions/advanced-go.md): 20개 질문, Senior - [CLI 개발](https://sharpskill.dev/ko/technologies/go/interview-questions/cli-development.md): 20개 질문, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/ko/technologies/go/interview-questions/microservices