모놀리틱 서비스 vs. 마이크로 서비스


스크린샷 2021-07-23 오전 12 53 28


모놀리틱 아키텍처 (Monolithic Architecture)

모놀리틱 아키텍처는 비즈니스 로직, DB, UI 등을 하나의 패키지에 담아 빌드하고 배포하는 아키텍처다.
빠르고 쉽게 서비스를 구성할 수 있어 적은 비용으로 서비스 출시가 가능하다는 장점이 있다.

모놀리틱 아키텍처의 한계

코드가 많아지고 복잡해짐에 따라 모놀리틱의 아키텍처의 한계점이 드러난다.


새로운 아키텍처의 필요성




마이크로 서비스 아키텍처 (Microservices Architecture)

마이크로 서비스 아키텍처는 하나의 큰 애플리케이션을
여러 개의 작은 애플리케이션으로 쪼개어 변경과 조합이 가능하도록 만든 아키텍처다.

애플리케이션을 핵심기능 별로 세분화하고 각 기능을 서비스라고 부르며,
독립적으로 구축하고 배포할 수 있다.

서비스는 각 별도의 프로세스에서 실행되며, HTTP 자원 API 같은 가벼운 매커니즘으로 통신한다.
💡   독립적인 배포, 다른 프로그래밍 언어나 다른 DB 사용 가능


MSA는 언제 적용할까?

MSA는 어느정도 트래픽이 나오고 큰 규모의 서비스에 사용해야 한다.
어느 정도 규모가 있어야 유지보수 비용이 줄어들기 때문에 모든 프로젝트에 MSA가 적합하다고 할 수 없다.


장점


단점


MSA의 원칙




MSA에 필요한 기술

위 기술은 다른 포스트에서 자세하게 알아보자.




참고