MSA를 설명하는 책이라면 처음부터 여러 서비스가 나뉜 구조를 보여 주는 편이 더 그럴듯해 보일 수도 있다.
하지만 그렇게 시작하면 독자는 결과는 보게 되어도, 왜 그런 구조가 필요해졌는지는 놓치기 쉽다.
이 책이 chap00을 모놀리식으로 시작하는 이유는 바로 그 지점을 분명히 하기 위해서다.
복잡한 구조는 비교 기준이 있을 때 비로소 의미가 보인다.
그리고 그 비교 기준이 바로 하나의 애플리케이션으로 묶인 단순한 출발점이다.
chap00에서는 회원, 상품, 주문, 배송이 하나의 Spring Boot 애플리케이션 안에 들어 있다.
애플리케이션도 하나고, 데이터베이스도 하나고, 요청을 처리하는 흐름도 하나의 프로세스 안에서 이어진다.
이 단순함 덕분에 독자는 먼저 비즈니스 흐름 자체를 볼 수 있다.
즉, 첫 장에서는 구조를 나누기 전에 먼저 문제 자체를 분명히 본다.
나중 장으로 갈수록 구조는 점점 커진다.
서비스가 분리되고, Gateway가 등장하고, Kubernetes 배포를 고민하고, Kafka와 Orchestrator를 통해 실패 처리까지 다루게 된다.
그런데 이 모든 변화는 “처음에는 하나로도 충분했던 구조”와 비교할 때 가장 잘 이해된다.
처음부터 분산 구조만 보면, 독자는 각 기술이 왜 등장했는지보다 이름과 형태만 외우게 되기 쉽다.