
56
1
부
기초
이 책 전반에서 모놀리스를 이야기할 때는 주로 배포 단위를 언급한다. 시스템의 모든 기능이
함께 배포돼야 한다면 필자는 이를 모놀리스로 간주한다. 아마도 여러 아키텍처가 이 정의에
어울리겠지만, 가장 자주 목격하는 형태인 단일 프로세스형 모놀리스, 모듈식 모놀리스, 분산
형 모놀리스에 대해 논의할 것이다.
1.3.11.3.1
단일 프로세스형 모놀리스단일 프로세스형 모놀리스
모놀리스를 이야기할 때 떠오르는 가장 일반적인 예는 [그림
1
-
6
]과 같이 모든 코드가 단일 프
로세스
single
process
로 배포되는 시스템이다. 견고성과 확장성을 위해 이 프로세스의 인스턴스를
여러 개 만들 수 있지만, 근본적으로 모든 코드는 하나의 프로세스로 패키징된다. 실제로 이러
한 단일 프로세스 시스템은 십중팔구 데이터베이스에서 데이터를 읽고 저장하거나 웹 및 모바
일 애플리케이션에 정보를 제공하므로 그 자체로 단순한 분산 시스템일 수 있다.
모놀리스
데이터베이스
그림
1-6
단일 프로세스형 모놀리스에서 모든 코드는 한 프로세스에 패키징된다. 단일 프로세스형 모놀리스에서 모든 코드는 한 프로세스에 패키징된다.
이 형태는 대부분의 사람들이 알고 있는 고전적인 모놀리스와 맞아떨어지지만, 필자가 접하는
시스템 대부분은 이보다 더 복잡하다. 서로 강하게 결합된 둘 이상의 ...