더북(TheBook)

대규모 백엔드는 모듈로 구성될 수 있다. 각 모듈은 엔터티, 리포지터리, 서비스 등을 포함하는 도메인 모델을 가진다. 여러 모듈이 서로 메시지를 주고받을 수도 있다.

클린 아키텍처, 육각형 아키텍처, 도메인 주도 디자인(DDD)이나 다른 계층형 아키텍처 같은 아키텍처 패턴에 익숙하다면, 컴포넌트들을 어떻게 조직화해야 하는지에 대해 나름의 의견이 있을 것이다. 그림 1-9의 다이어그램은 모든 사람이 자신이 선호하는 아키텍처에 맞출 수 있도록 일반적인 형태로 나타냈다.

그림 1-9는 한 백엔드에 두 모듈이 있는 모습을 보여주기 때문에 내가 서비스 분산 아키텍처보다 모놀리스(monolith)를 더 선호한다고 생각할 수도 있다. 다시 말하지만, 이 그림은 일반적인 형태다. 서로 다른 모듈이 같은 분산 바이너리 안에 존재하면서 단순한 메서드 호출로 통신할 수도 있고, 네트워크상에 분산되어 원격 프로시저 호출을 통해 통신할 수도 있다. 현재로서는 이런 차이가 중요하지 않다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.