
백엔드
포스타입 정산 시스템 이관기 2
두줄요약
정산 시스템을 PHP에서 Java 기반 Job Runner로 이관한 과정과 테크 스펙, 테스트, 마이그레이션 전략을 설명했습니다. 또한 URI 인코딩, Reader 페이징, timeout 등 트러블 슈팅 사례와 개선 효과를 정리했습니다.
문제 상황
- PHP 기반 정산 시스템을 새로운 Job Runner 아키텍처로 이관해야 하는 상황
- 정산 도메인의 민감도와 리스크가 높아 동일 결과 보장, 재시도 가능성, 검증 체계가 필요
구조와 흐름
- 이관 목표와 비목표를 먼저 분리해 작업 범위 확정
- 테크 스펙에 배경, 로직 흐름, 메시지 페이로드, 배치 설계, 테스트 시나리오, 제약 사항, 대안을 정리
- Reader, Processor, Writer 구조와 재시도 방식, 검증 방법을 설계 후 구현
주의할 점
- 테크 스펙은 설계 점검과 의사결정 기록이 핵심이며, 작업 후 최신화는 필수 아님
- 단순한 작업에는 과도한 문서화보다 작성 비용을 고려할 필요
- Reader 페이징, URI 인코딩, 장시간 배치의 timeout 같은 이관 이슈를 수동 테스트로 확인 필요
적용해볼 점
- 중요한 배치 작업은 Spring Batch처럼 재시도와 수행 이력을 다루기 쉬운 도구를 우선 검토
- 대량 변경 시 중간 리뷰와 다양한 테스트 시나리오로 누락과 장애를 조기 발견
- 선택 이유와 트레이드오프를 문서화해 후속 설계 변경과 유지보수에 활용
