7,000줄 PL/SQL 프로시저와의 결별: 클레임 로직 Java 모듈 이관기
·2025.11.07 03:00
올리브영이 유지보수가 어려운 7,000줄 규모의 PL/SQL 프로시저를 Strangler Pattern을 통해 Java 기반 모듈로 점진적으로 이관했다.
올리브영 온라인몰의 교환·반품을 담당하는 클레임 스쿼드는 주문, 교환, 반품 등 핵심 비즈니스 로직이 7,000줄 이상의 단일 PL/SQL 프로시저에 뒤섞여 있는 기술 부채 문제를 해결하기 위해 Java로의 이관을 결정했다.
기존 구조는 코드 간 경계가 모호해 작은 수정이 전사적 리스크로 이어졌으며, 디버깅이 어렵고 인력 의존도가 높다는 치명적인 단점이 있었다. 이를 해결하기 위해 Strangler Pattern을 적용하여 기존 시스템을 유지하면서 기능을 점진적으로 대체하는 전략을 채택했다.
이관 과정은 다음과 같은 단계로 진행되었다.
- Phase 0 (사전 준비): 모듈별 기능 분석 및 트랜잭션 경계 맵핑
- Phase 1 (도메인 모델링): 기능별 도메인 경계 재정의 및 Fallback 로직 설계
- Phase 2 (모듈 이관): Java 모듈 구현 및 Shadow 트래픽 검증
- Phase 3 (레거시 해체): 완전 전환 후 불필요한 코드 제거
이 과정에서 트랜잭션 불일치와 로직 중복이라는 시행착오를 겪었으나, 결과적으로 기능별 모듈화를 통해 유지보수성과 확장성을 확보하는 성과를 거두었다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.