Architecture
- 시스템의 구성 및 동작 원리
- 구성 요소 간의 관계 및 시스템 외부 환경과의 관계
- 시스템 전체(하드웨어와 소프트웨어를 포괄한 것)에 대한 논리적인 기능 체계와 그것을 실현하기 위한 구성 방식
Monolithic
- 하나의 서비스에 대한 구성 요소가 한 프로젝트에 통합되어 있음
- 한 Framework, 언어에 종속적
- 통합 테스트, End to End 테스트가 용이함
- 기능 수정에 따른 영향을 파악하기 힘듬
- 작은 기능 수정에도 프로젝트 전체를 다시 빌드, 테스트, 배포해야 함
- 모듈 간 독립성이 약함 -> 유지보수가 어려움
MSA(Micro Service Architecture)
- 하나의 서비스를 기능별, 모듈별로 쪼개어 여러 서비스로 나누고 이를 통합하는 방식으로 하나의 서비스를 구성
- 나누어진 각 서비스는 다른 서비스에 사용이 가능함 (재사용성이 좋음)
- 각 기능별, 모듈별 서비스들의 언어를 다르게 쓸 수 있음
- 통합 테스트가 어려움
- 각 서비스는 RPC 또는 message-driven API 등을 이용하여 통신 -> 복잡도가 증가함
- 각 서비스별 빌드, 테스트, 배포가 가능함
- 모듈 간 독립성이 강함
출처
https://ko.wikipedia.org/wiki/%EC%8B%9C%EC%8A%A4%ED%85%9C_%EC%95%84%ED%82%A4%ED%85%8D%EC%B2%98
'IT > Cloud' 카테고리의 다른 글
ALB, NLB (0) | 2022.03.08 |
---|---|
AWS vs GCP (0) | 2022.03.03 |
[AWS] NACL, Security Group (Stateless 방화벽, Stateful 방화벽) (0) | 2022.03.01 |
[GCP] Instance Group (0) | 2022.02.23 |
3 Tier Architecture가 필요한 이유 (0) | 2022.02.21 |
댓글