Til8


title: 2025-08-06 author: 강병호 date: 2025-09-06 category: TIL/강병호/2025/08 layout: post —

# MSA

최근 디지털 서비스의 변화속도의 빨라짐, 클라이언트들의 요구의 다양성, 서비스의 업데이트 빈도수에 따라 기업들은 변화에 빠르게 대응할 수 있는 구조를 추구하게 되었다. 이에 대한 다양한 대응방식이 있는데 그 중 하나인 마이크로서비스 아키텍처 (MSA)가 존재한다.

마이크로 서비스는 하나으 ㅣ어플리케이션을 작고 독립적인 서비스들의 집합으로 구성하는 아키텍처이다. 이는 각 서비스가 도메인에 대한 책임을 가지고 다른 서비스는 API를 통해 통신되도록 구성하낟.

MSA 특징

  • 독립적인 배포 및 스케일링 가능
  • 각 서비스는 자기 데이터베이스를 가짐 (데이터 독립성)
  • 조직적으로도 각 서비스는 소규모 팀이 책임
  • 서비스 간 통신은 주로 HTTP REST API, gRPC, 메시지 브로커(Kafka, RabbitMQ 등)를 통해 이루어짐

MSA 시스템 구성 요소

  • API Gateway : 클라이언트의 요청을 받아 적절한 마이크로 서비스로 전달하며 해당 과정에서 인증/인가, 로깅, 요청 라우팅 등의 기능을 수행한다.
  • 서비스 디스커버리 : 동적으로 서비스 위치를 찾아주는 역할
  • 마이크로서비스 : 유저 서비스, 결제 서비스 등 서비스별로 독립적으로 배포된다.
  • 공통 인프라 : 로깅, 모니터링, 트레이싱, 장애 감지 등의 서비스

구조도

            +-------------------+
            |    API Gateway    |
            +--------+----------+
                     |
     +---------------+--------------------+
     |               |                    | +--------v-----+ +-------v-------+ +----------v----------+ | User Service | | Order Service | | Payment Service     | +--------+-----+ +-------+-------+ +----------+----------+
     |               |                     |
 +---v---+       +---v---+             +---v---+
 |  DB   |       |  DB   |             |  DB   |
 +-------+       +-------+             +-------+

results matching ""

    No results matching ""