MSA(Micro Service Architecture
마이크로 서비스 아키텍처(MSA) 를 줄임말로 레고 블럭을 쌓듯 하나의 어플리케이션을 여러개의 작은 단위로 쪼개서 변경과 조합이 가능하도록 만든 형태.
MSA 방식의 특징
- 각각의 서비스는 크기가 작을 뿐, 서비스 자체는 하나의 모놀리식 아키텍처와 유사한 구조를 가진다.
- 독립적으로 배포 가능.
- 다른 서비스에 대한 의존성이 작아야한다.
- 각 서비스는 REST API 와 같은 가벼운 방식으로 통신되어야한다.
MSA 방식의 장점
- 서비스 별 개별 배포 가능.
- 독립 배포가 가능함으로 개발자의 자율성 증가.
- 요구 사항 신속 반영.
- 확장성이 용이하다.
- 클라우드 사용에 적합.
- 장애가 전체 서비스로 확장될 가능성이 적다.
- 부분적 장애에 대한 격리가 수월하다.
- 유지 보수하기 쉽다.
MSA 방식의 단점
- 서비스 간 호출 시 API 를 사용하기 때문에 통신 비용 및 지연 시간이 증가한다.
- 데이터가 여러 서비스에 걸쳐서 분산됨으로 한 번에 조회하기 어렵다.
- 단위 테스트는 쉽지만, 통합 테스트로 들어가면 시간과 비용이 많이 든다.
- 각 서비스 별로 데이터베이스가 있으므로 트랜잭션을 구현하기 까다롭다.
- 개발 및 관리가 어렵고, 비용이 많이 든다.
'CS' 카테고리의 다른 글
순열, 조합 자바로 코딩(JAVA) (0) | 2022.11.24 |
---|---|
B-tree 와 B+ tree 에 대한 정리 글(면접질문) (0) | 2022.11.22 |
Elasticsearch에 대하여. (엘라스틱서치) (0) | 2022.11.14 |
자바 Map.of 사용 방법 (0) | 2022.09.20 |
기술면접 질문 모음 (3) | 2022.09.12 |