← 전체 용어

마이크로서비스MSA

Microservices Architecture

서비스를 업무 기능별로 나누고 각각 독립적으로 개발·배포할 수 있게 구성하는 아키텍처예요.

쉽게 비유하면

한 부서가 모든 일을 맡는 대신 역할이 분명한 여러 팀이 약속한 창구로 협업하는 것과 같아요.

조금 더 자세히

주문, 결제와 재고 등을 서비스로 나누고 API나 메시지로 통신해요. 코드 크기보다 업무 경계와 독립적인 변경 가능성이 중요해요.

부분별 확장과 배포에 유리할 수 있지만 네트워크 장애, 데이터 일관성, 추적과 운영 복잡도가 늘어요. 서비스별 데이터 책임도 명확히 해야 해요.

왜 생겼나요

큰 시스템에서 팀마다 다른 속도로 기능을 바꾸고 확장하려는 요구를 지원하기 위해 활용해요.

어떻게 작동하나요

  1. 1. 경계 정의 업무 기능과 데이터 책임에 따라 서비스를 나눠요.
  2. 2. 통신 계약 API와 메시지 형식, 실패 처리 방식을 정해요.
  3. 3. 독립 운영 서비스별 배포와 감시를 하고 전체 흐름도 추적해요.

활용 예시

  • 주문·결제 서비스 분리
  • 검색 기능만 별도 확장
  • 팀별 배포 주기 분리

흔한 오해

마이크로서비스가 항상 더 좋은가요?

작은 팀이나 단순한 제품에서는 운영 부담이 더 클 수 있어요. 조직 규모와 변경·확장 요구에 맞춰 선택해요.

이렇게 쓰여요

시스템 분리 검토

“작게 나누기보다 독립 배포할 경계와 장애 시 동작, 데이터 책임부터 정하자”라고 이야기해요.

관련 용어

함께 보면 좋은 용어

최종 업데이트