콘서트 예약 서비스 트랜잭션 설계 전략
기존 로직의 문제점 및 관심사 분리 현재 콘서트 예약 서비스는 모놀로식 아키텍처 형태로 개발되어있고, 모든 도메인의 기능이 하나의 서버에 존재한다.만약 특정 서비스 메소드에서 다수의 도메인 트랜잭션 처리가 필요한 상황이라고 생각해보자. 일단 코드를 읽기 힘들뿐만 아니라메소드 Latency도 느려질 것이다. 그리고 예를 들어 아래와 같은 로직이 있을경우@Transactionalpublic void 상품주문() { 상품재고차감(); // 1 주문정보생성(); // 2 사용자포인트차감(); // 3 네이버페이결제();}만약 네이버페이결제 실행시 예외가 발생한다면 어떻게 될까? 네이버페이 같은 Third Party API 에서 알 수 없는 에러로 인해 예외를 발생시킨다면 1, 2, 3번 로직도 Rollback이..