Micro Service Architecture
→ 작은단위의 서비스로 구동되도록 구성하고 관계를 정의하는 아키텍쳐
scale out : 서버대수를 늘려서 처리능력 향상
scale up : 서버자체를 증강(더빠른 cpu, 많은 RAM)
💡 SOA(Service Oriented Architecture)
→ 서비스 단위로 개발, 개발된 서비스 공유
⇒ 재가용성,유연성을 통한 비용절감
(차이점 : MSA는 서비스간의 결합도를 낮춰서 변환에 능동적으로 대응하고자)
cf. 모놀리식(Monolithic) 아키텍쳐
→ 통짜구조로 하나의 구조안에 대부분의 기능이 포함
장점
- 서비스 개발 시 동일한 개발툴 사용
- 배포, 테스트가 간단 (한개의 테스트로 개발이 쉬움, 환경설정이 간단함)
- 각 컴포넌트를 함수로 호출 → 성능제약이 적음, 운영관리가 용이하다.
단점
- 빌드,테스트 시간이 길다. → 작은 수정에도 시스템 전체를 빌드해야 함
- 선택적 확장 불가능 → 트래픽이 몰리면 전체를 확장해야
- 하나의 서비스가 모든 서비스에 영향 → 서버 다운시 모든 서비스가 마비
외에 container Management, Backing Service(message queue), Telemetry(서비스 모니터링), CI/CD Automation
https://velog.io/@tedigom/MSA-제대로-이해하기-1-MSA의-기본-개념-3sk28yrv0e