MSA(MicroService Architecture)
애플리케이션 단위로 쪼개서 관리하는 아키텍쳐
각 애플리케이션은 레고 블럭처럼 결합 및 분리 가능
MA(Monolithic Architecture)
한 프로젝트 안에 여러 개의 애플리케이션이 통합되어 있는 형태
- 소규모 프로젝트에 적합
- 간단한 아키텍처, 유지보수 용이
- 프로젝트가 커질수록, 전체 시스템 파악에 어려움
- 테스트, 빌드 및 배포 시간 증대
- 부분 장애 → 전체 서비스 장애 발생 가능성
MSA의 장단점
장점
- 서비스 별로 개별 배포 가능 → 요구사항을 빠르게 수정하여 반영 가능
- 서비스 확장성에 좋음 → Saas 방식에 적합
- 장애가 발생해도 피해가 적음 → 해당 서비스만 장애 발생
단점
- 잦은 api 호출로 인한 통신 비용 증대
- 테스트와 트랜잭션의 복잡도 증가, 많은 자원 필요
- 서비스별로 데이터 분리 → 데이터 정합성 ↓
'Study' 카테고리의 다른 글
2022-04-06 (0) | 2022.04.06 |
---|