모놀리식 아키텍쳐
- 널리 활용해 온 전통적인 아키텍처
- 하나의 앱 안에 모든 컴포넌트를 포함
- 구조가 단순해 개발, 배포가 간편
모놀리식 아키텍처의 한계
- 비효율적인 분산 전략
- 소스 코드가 거대해서 코드 수정이 부담스럽다
- 새로운 기술을 적용하기 어렵다
마이크로서비스 아키텍처
- 마이크로서비스 하나는 독립적인 프로세스 하나를 의미
- 개발과 배포에 상호 독립적
- 각 서비스별로 기술 독립성을 가진다
- 독립적인 DB를 가질 수 있다
- 각 마이크로서비스는 각자 가진 네트워크 기능으로 통신할 수 있다
마이크로서비스 아키텍처의 어려움
- 공유 자원 접근이 어렵다
- 배포와 실행이 복잡하다
- 분산 시스템을 구현하기 어렵다
마이크로서비스와 Node.js