MSA
1. 모놀리틱 아키텍처 이해
wavid
2020. 12. 21. 16:52
모놀리틱 아키텍처 예시

- 주문 ↔ 상품 간 서로 정보를 가져다 쓰기 위해서 Share.jar를 두고, 공유해서 사용.
- 대부분의 개발은 Share.jar에 개발하게 됨.
- Share.jar의 전체적인 싱크를 맞춰야하므로, 배포작업이 커지게 됨.
- 버저닝할 때 SNAPSHOT으로 넣어둠. (SNAPSHOT이란 고정된 버전이 아님. SNAPSHOT이면 계속 원격 레포지토리에서 새로 받아오게 됨.)
- 하나의 DB
- 소스 코드만 100MB 이상 (수백만 라인의 공통 코드)
모놀리틱 아키텍처 정리
- 대부분 IT 회사의 시작은 모놀리틱
- 장점
- 개발이 단순함 (repository 하나 체크아웃 받아서 띄우면 되니까)
- 배포가 단순함 (war 하나만 배포하면 되니까)
- Scale-out이 단순함 (서버 하나 복사하면 되니까)
- 하지만 DB 성능으로 인한 한계가 있음
- 단점
- 무겁다 - IDE가 못 받쳐줌
- 어플리케이션 시작이 오래 걸린다
- 기술 스택을 바꾸기가 어렵다
- 높은 결합도
- 코드베이스의 책임 한계와 소유권이 불투명
[참고 및 출처]
www.youtube.com/watch?v=D6drzNZWs-Y&list=PL9mhQYIlKEhdtYdxxZ6hZeb0va2Gm17A5&index=1