본문 바로가기
시스템아키텍처

마이크로서비스 아키텍처(MSA) 개념과 설계 원칙 정리

by 매일기술사 2026. 4. 4.
System Architecture · 한장정리

[기술사토픽] MSA(마이크로서비스 아키텍처) 완벽 정리 - 한장정리

모놀리식 vs MSA 비교, API게이트웨이·서비스메시·서비스디스커버리 구성요소, Circuit Breaker·Saga 패턴까지 완벽 정리합니다.

MSA마이크로서비스APIGatewayCircuitBreakerSaga정보관리기술사

Ⅰ.독립 서비스 아키텍처 — MSA

개념: MSA(Microservice Architecture)는 애플리케이션을 독립적으로 배포 가능한 소규모 서비스의 집합으로 구성하는 아키텍처 스타일입니다. Martin Fowler와 James Lewis가 2014년 정립했습니다.

핵심 원칙: 각 서비스는 (1) 단일 비즈니스 기능만 담당 (2) 독립 배포 가능 (3) 자체 데이터 저장소 보유 (4) API로만 통신

가. 모놀리식 vs MSA 비교
구분모놀리식MSA
배포 단위전체 애플리케이션개별 서비스
확장 방식전체 수평 확장필요한 서비스만 확장
기술 스택단일 언어·프레임워크서비스별 최적 기술 선택
장애 격리하나가 전체에 영향서비스별 독립 장애
복잡도코드 복잡도운영·네트워크 복잡도
적합 규모소규모·초기 단계대규모·복잡한 도메인

Ⅱ.MSA 핵심 구성 요소 & 패턴

구성 요소역할대표 도구
API 게이트웨이단일 진입점. 라우팅·인증·로드밸런싱Kong, AWS API GW, NGINX
서비스 디스커버리서비스 위치 동적 탐색Consul, Eureka, etcd
메시지 브로커비동기 서비스 간 통신Kafka, RabbitMQ
서비스 메시서비스 간 통신 관리·모니터링Istio, Linkerd
분산 추적요청 흐름 추적·모니터링Zipkin, Jaeger
컨테이너 오케스트레이션서비스 배포·확장·관리Kubernetes
나. MSA 주요 패턴
패턴목적설명
Circuit Breaker장애 전파 방지서비스 장애 시 빠른 실패로 전체 장애 방지
Saga분산 트랜잭션로컬 트랜잭션 체인으로 ACID 대체
Strangler Fig모놀리식 전환기존 기능을 점진적으로 MSA로 이전
BFF클라이언트별 APIBackend for Frontend — 클라이언트 맞춤 API
시험 포인트

MSA 3대 원칙: ① 서비스 독립 배포 ② 분산 데이터 관리 ③ 장애 격리
단점: 분산 시스템 복잡도, 네트워크 레이턴시, 데이터 일관성 관리 어려움.

Ⅲ.결론

결론

MSA는 조직과 기술의 독립적 진화를 가능하게 하는 현대 아키텍처의 표준입니다.
Conway의 법칙: 시스템 구조는 조직 구조를 따른다 — MSA는 소규모 자율 팀 조직과 정렬될 때 효과 극대화.

"MSA를 도입하기 전에 모놀리식을 먼저 잘 만들어라. 복잡한 시스템을 MSA로 시작하면 더 복잡해진다." — Martin Fowler

블로그: 기술사 학습노트 · imt-log.tistory.com