2.3 마치며
• 아키텍처는 애플리케이션 개발 속도에 직접 영향을 주는 갖가지 ‘~성(-ilities)’을 좌우합니다(예: 관리성, 테스트성, 배포성).
• 마이크로서비스 아키텍처는 애플리케이션의 관리성, 테스트성, 배포성을 높이는 아키텍처 스타일입니다.
• 마이크로서비스는 기술적 관심사보다 비즈니스 능력, 하위 도메인 등 비즈니스 관심사 위주로 구성됩니다.
• 서비스를 분해하는 패턴은 크게 두 가지입니다.
◼︎ 비즈니스 능력에 따른 분해: 비즈니스 아키텍처 기반
◼︎ 하위 도메인에 따른 분해: DDD 개념 기반
• DDD를 적용하고 서비스마다 도메인 모델을 따로 설계하면, 의존 관계가 뒤엉켜 분해를 가로막는 만능 클래스를 제거할 수 있습니다.