MSA(MicroService Architecture)

journey·2023년 12월 9일
0

MSA는 각각을 마이크로하게 나눈 독립적인 서비스를 연결한 구조

이러한 특성 덕분에 시스템 전체의 중단 없이 필요한 부분만 업데이트·배포가 가능합니다. 유연한 대응이 가능해 실시간으로 요구사항을 반영할 수 있다는 장점

장점만 있는건 아님,

  • 성능 관점
    서비스 간 호출 시 API를 사용하기 때문에 통신 비용 및 지연 시간이 증가한다.

  • 데이터 관리 관점
    데이터가 여러 서비스에 걸쳐서 분산되므로 한 번에 조회하기 어렵고, 데이터의 정합성 또한 관리하기 어렵다.

  • 테스트 / 트랜잭션 관점
    단위 테스트는 쉽지만, 통합 테스트 및 End-to-End 테스트 단위로 들어가면 여러 서비스의 API를 검증해야 하므로 시간과 비용이 많이 든다.
    각 서비스 별로 데이터베이스가 있으므로 트랜잭션을 구현하기 까다롭다.
    아키텍처가 다소 복잡하므로 개발 및 관리가 어렵고, 비용이 많이 든다.

모놀리식 아키텍쳐와 비교

참고)
[데이터 분산 처리] MSA 아키텍처란?

profile
백엔드 개발 여정

0개의 댓글

관련 채용 정보