3.1.2 서비스 세분화 확정
데이터 모델을 단순화했다면 애플리케이션에서 필요한 마이크로서비스를 정의하는 과정을 시작할 수 있다. 그림 3-2의 데이터 모델에서 볼 수 있듯이 다음 네 개의 잠재적인 마이크로서비스가 있다.
• 자산(assets)
• 라이선스(license)
• 계약(contract)
• 조직(organization)
우리 목표는 이러한 주요 기능 부분을 서로 독립적으로 빌드하고 배포할 수 있는 완전한 자립형 유닛으로 추출하는 것이다. 이들 유닛은 데이터베이스를 공유하거나 개별적으로 가질 수 있다. 하지만 데이터 모델에서 서비스를 추출하는 것은 코드를 개별 프로젝트로 다시 패키징하는 것 이상이 필요하다. 또한 이 추출 작업은 서비스가 액세스하는 실제 데이터베이스 테이블을 파악하고 특정 문제 영역의 테이블에만 액세스를 허용하는 것도 포함한다. 그림 3-2는 어떻게 애플리케이션 코드와 데이터 모델이 개별 조각으로 나뉘는지 보여 준다.
Note ≣
각 서비스별로 데이터베이스를 생성했지만, 서비스 간에 데이터를 공유할 수 있다.