Microservice Architecture가 무엇인지, 어떤 장점이 있는지, 언제 사용해야 하는지 살펴봅니다.
(표지)
마이크로서비스란 소프트웨어를 구축하기 위한 아키텍처이자 하나의 접근 방식으로,
어플리케이션을 상호 독립적인 최소 구성 요소로 분할합니다.
마이크로서비스에서는 이들이 서로 연동되어 태스크를 완수합니다.
여기서, 상호 독립적인 최소 구성 요소
라는 키워드에 집중해야 합니다.
모두들 코드 짜실 때 코드들의 역할이나 특성을 고려해 여러 요소로 분할한 경험이 있을 것입니다.
예를 들어, 백엔드/프론트엔드 코드를 나누거나, 각각의 도메인을 담당하는 코드들을 나누는 것들을 예로 들 수 있죠.
하지만 이렇게 나눠진 코드들은 대부분의 경우 상호 독립적
이지도, 최소 구성 요소
이지도 않습니다.
이 그림은 모놀리식 아키텍처와 마이크로서비스 아키텍처를 비교한 그림입니다.
모놀리식 아키텍처이든, 마이크로서비스 아키텍처이든 동일한 태스크를 수행합니다. 하지만 차이점이 있습니다.