이 장에서 한 번 더 정의를 잡아야 한다

chap00에서도 MSA라는 말을 문제의식 수준에서 한 번 꺼냈다.

하지만 chap01에서는 실제로 서비스 분리가 시작되기 때문에, 여기서 다시 한 번 정의를 잡아 주는 편이 좋다.

그렇지 않으면 독자는 “지금 이 구조가 정말 MSA인가”, “서비스를 몇 개로 나누면 MSA가 되는가” 같은 질문에서 흔들리기 쉽다.

MSA는 잘게 쪼개는 기술이 아니다

MSA는 단순히 애플리케이션을 여러 개로 나누는 기법이 아니다.

더 정확히 말하면, 하나의 시스템 안에 있던 책임을 서비스 단위로 분리해서, 개발과 실행과 배포의 경계를 더 세밀하게 가져가려는 구조적 접근이다.

즉, 중요한 것은 서비스 개수가 아니라 경계다.

image.png

이 질문에 답하면서 구조를 나누는 것이 MSA의 출발점이다.

chap01은 MSA의 완성형이 아니라 시작점이다

여기서 조심해야 할 점이 있다.

chap01을 보고 곧바로 “이제 완전한 MSA가 구현되었다”고 받아들이면 안 된다.

chap01은 다음 상태에 더 가깝다.