익명의 개발노트

[아키텍쳐] Micro Service Architecture(MSA) 본문

코딩일기/TIL

[아키텍쳐] Micro Service Architecture(MSA)

캡틴.JS 2019. 12. 10. 00:16
반응형

하나의 큰 어플리케이션여러개의 작은 어플리케이션으로 쪼개어(쪼갯을때 스스로 구동이 가능해야함) 변경과 조합가능하도록 만든 아키텍쳐

 

  • 각각 구동되어야함
  • 각각 배포가능
  • 서비스간 의존성 적어야함

1. MSA 장점

  • 배포 관점
    • 서비스 별 개별 배포 가능 ( 배포 시 전체 서비스의 중단이 없음)
    • 요구사항을 신속하게 반영하여 빠르게 배포할 수 있음
  • 확장(scaling) 관점
    • 특정 서비스에 대한 확장성이 용이함.
    • 클라우드 사용에 적합한 아키텍쳐.
  • 장애(failure) 관점

    • 장애가 전체 서비스로 확장될 가능성이 적음
    • 부분적 장애에 대한 격리가 수월함
  • 쪼개져있기때문에 신기술 적용이 유연

2. MSA 단점

  • 서비스가 커짐에 따라 복잡도가 증가할 수 있음.
    • 성능 - 서비스 간 호출 시 API를 사용하기 때문에, 통신 비용이나, Latency가 그만큼 증가
    • 테스트 / 트랜잭션 - 서비스가 분리되어 있기 때문에 테스트와 트랜잭션의 복잡도가 증가하고, 많은 자원을 필요로 합니다.
    • 데이터 관리 - 데이터가 여러 서비스에 걸쳐 분산되기 때문에 한번에 조회하기 어렵고, 데이터의 정합성 또한 관리하기 어렵다.

 

반응형

'코딩일기 > TIL' 카테고리의 다른 글

[typescript] 타입스크립트란?  (0) 2019.12.15
Array vs Linked List  (0) 2019.12.11
[아키텍쳐] Service Oriented Architecture(SOA)  (0) 2019.12.10
[Restful api] Delete에서 parameter 보내는법  (0) 2019.12.02
[vue.js] Vuex  (0) 2019.11.17
Comments