MSA 전환 프로젝트에서 서비스 경계를 도메인 기준으로 나눈 경험
이전 프로젝트에서 모놀리식 주문 서비스를 MSA로 전환하며 서비스 경계를 도메인 기준으로 나누는 데 가장 공을 들였습니다. 처음엔 테이블 단위로 쪼갰다가 트랜잭션이 서비스 세 개를 넘나드는 문제가 생겨, 「주문」과 「결제」를 하나의 바운디드 컨텍스트로 다시 묶었습니다. 그 결과 서비스 간 동기 호출이 12건에서 4건으로 줄었고, 평균 응답 시간이 320ms에서 140ms로 개선됐습니다. 데이터 일관성은 이벤트 소싱과 아웃박스 패턴으로 처리해 장애 시에도 이벤트 유실 없이 재처리가 가능하도록 설계했습니다.