TRANSACTION BOUNDARY

서비스 레이어 트랜잭션 경계

한 유스케이스에서 함께 성공하거나 함께 취소될 DB 작업만 서비스 트랜잭션 안에 둔다.

요청 검증과 권한 확인
서비스 메서드의 원자적 변경
외부 알림과 후속 발행
1Controller입력 검증, 인증, 요청 변환
2Service @Transactional재고 차감, 주문 저장, 상세 저장을 하나의 원자적 단위로 처리
3RepositoryDB 변경과 조회를 같은 커넥션/트랜잭션 문맥에서 수행
4After commit알림, 이벤트 발행, 외부 API 호출은 커밋 이후로 분리
경계 기준

비즈니스 결과가 쪼개져도 되는지로 판단한다.

실패 기준

예외가 전파되어야 롤백 규칙이 정상 동작한다.

후속 작업

외부 부작용은 커밋 이후 또는 Outbox로 보낸다.