더북(TheBook)

비즈니스 로직은 각자가 도메인 객체 컬렉션인 모듈(예: 주문 관리, 배달 관리, 과금, 지불)로 구성되며, 외부 시스템과 연계하는 어댑터가 여럿 달려 있습니다. REST API, 웹 UI 어댑터 등 비즈니스 요청을 호출하여 처리하는 인바운드 어댑터(inbound adapter)가 있고, 그 밖에 비즈니스 로직에서 MySQL(마이에스큐엘) DB에 접속하거나 트윌리오, 스트라이프 등 클라우드 서비스를 호출하게 해주는 아웃바운드 어댑터(outbound adapter)가 있습니다.

논리적으로는 모듈화한 아키텍처임에도 애플리케이션은 WAR 파일 하나로 패키징합니다. 시스템을 하나의 실행/배포 가능한 컴포넌트로 구성하는, 예전에 많이 썼던 소프트웨어 아키텍처 스타일이죠. 자바 대신 고 언어(GoLang)로 작성했으면 실행 파일 하나를, 루비(Ruby)나 Node.js(노드JS)로 작성했으면 단일 소스 코드 디렉터리 체계를 배포했을 것입니다. 모놀리식 아키텍처가 본질적으로 나쁜 것은 아닙니다. 원 개발자가 처음 모놀리식 아키텍처를 선택할 당시에는 올바른 선택이었겠죠.

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