MSA란?

Architecture / Backend

MSA

💡 핵심 : 서비스 규모가 커지면 하나의 거대한 코드베이스(Monolithic)는 관리가 불가능해집니다. 이를 독립적인 작은 서비스로 쪼개어 관리하는 MSA의 특징과 장단점을 비교 분석합니다.

1.  모놀리틱 아키텍처

모놀리틱 아키텍처는 모든 기능(회원, 상품, 주문 등)이 하나의 애플리케이션 내에 포함된 구조입니다.

✅ 장점: 배포가 단순하고 하나의 DB를 사용하여 데이터 일관성 유지가 쉽습니다
❌ 단점: 서비스가 커지면 특정 기능만 확장하기 어렵고, 작은 수정에도 전체를 다시 배포해야 하는 비효율이              발생

2.모놀리틱 vs MSA: 무엇이 다른가?

아키텍처를 선택하는 것은 정답을 찾는 과정이 아닌 트레이드 오프(Trade-off)의 과정입니다. 두 방식의 장단점을 명확히 인지하고 있어야 적재적소에 기술을 적용할 수 있습니다.

아키텍처 주요 장점 (Pros) 주요 단점 (Cons)
모놀리틱
(Monolithic)
  • 배포가 단순하고 직관적입니다.
  • 단일 DB 사용으로 데이터 일관성 유지가 매우 쉽습니다.
  • 특정 기능만 개별적으로 확장(Scaling)하기 어렵습니다.
  • 작은 수정 사항에도 전체 앱을 다시 빌드/배포해야 하므로 개발 주기가 깁니다.
  • 새로운 기술 도입이나 유연한 스택 변경이 제한적입니다.
MSA
(Microservices)
  • 각 서비스를 독립적으로 배포할 수 있어 업데이트 속도가 빠릅니다.
  • 서비스 성격에 맞는 다양한 기술 스택을 자유롭게 선택할 수 있습니다.
  • 장애 범위가 격리되어 시스템 전체의 안정성을 높일 수 있습니다.
  • 서비스 간 통신(HTTP/MQ 등) 관리와 테스트가 매우 복잡해집니다.
  • 분산된 DB로 인해 데이터의 최종 일관성을 맞추는 비용이 발생합니다.
  • 인프라 운영 오버헤드와 모니터링 난이도가 상승합니다.

MSA의 단점은 무엇일까?

면접에서 MSA의 단점은 "서비스 간의 복잡한 통신과 데이터의 정합성 문제"이다.

성공적인 MSA 구축은 서비스를 잘 나누고,  나눠진 서비스들을 어떻게 잘 연결하고 관리하느냐에 달려 있다는 것을 보여주는 게 핵심이다. 

3. MSA의 핵심

MSA는 하나의 애플리케이션을 여러 개의 독립적인 서비스로 분리합니다.

각 서비스는 특정 비즈니스 기능(회원, 주문 등)을 수행하며 독자적으로 운영된다.

  • 독립적 배포: 다른 서비스에 영향을 주지 않고 특정 기능만 업데이트하거나 배포할 수 있습니다.

'MSA' 카테고리의 다른 글

API 게이트웨이  (0) 2026.04.15
서킷브레이커  (1) 2026.04.14
로드밸런싱  (0) 2026.04.14
서비스 디스커버리  (0) 2026.04.13
Spring Cloud  (0) 2026.04.13