결정 서비스를 쪼개지 않고 단일 Spring Boot 애플리케이션 안에서 패키지 경계(api · batch · domain · adapters · common)로 나눈다. 같은 이미지를 기본 프로필(API + 선택적 스케줄러)과 batch-only 프로필(지정 Job 실행 후 종료)로 띄운다.
이유 이 서비스의 어려운 부분은 배치 정합성(청크 트랜잭션·재시작·멱등)이지 분산 통신이 아니다. 수집·표준화·지표·규칙이 같은 DB 트랜잭션 경계를 공유해야 하고, 1인 개발 규모에서 MSA 는 배포·관측 비용만 늘린다.
결과 domain 은 Spring·DB 에 의존하지 않는 순수 함수(표준화·분기 차분·지표·규칙·지역 매칭)라 단위 테스트가 빠르다. 나중에 배치를 분리해야 하면 batch-only 프로필이 그대로 별도 워커가 된다.