DevOps
모놀리식 vs 마이크로서비스 아키텍처
qbang
2021. 11. 21. 18:58
마이크로서비스 아키텍처(MSA) 개념 및 이해
MSA란 시스템을 여러개의 독립된 서비스들로 나누어서, 해당 서비스를 조합하여 기능을 제공하는 아키텍처 디자인 패턴 특징 각 서비스간 Network(보통 HTTP)를 통해 통신 각 서비스를 독립된 단위
bangsj1224.tistory.com
MA(Monolithic Architecture)
어플리케이션이 하나의 아키텍처로 이루어진 것이며, 대부분의 기업용 애플리케이션은 모놀리식 아키텍처를 따라 개발되었다. 이 구조는 개발과 관리가 용이하다는 장점이 있으나, 시스템 규모가 커질 경우 복잡도도 증가해 코드의 이해와 분석이 어려워지고, 작은 수정사항에도 전체를 빌드 및 배포해야 하는 등 개선과 확장이 어렵다는 단점이 있다.
MSA(MicroService Architecture)
경량화되고 독립적인 여러 개의 서비스를 조합하여 애플리케이션을 구현하는 방식으로 서비스마다 자체 데이터베이스를 가지고 동작하기 때문에 개발부터 배포까지 효율적으로 수행할 수 있다. 그러나 모놀리식 아키텍처에 비해 복잡도가 높으며 서비스가 분산되어 있어 트랜잭션 관리, 장애 추적 및 테스트 등이 쉽지 않다.