토스페이먼츠, 레거시 정산 시스템 개편으로 성능 10배 향상!

by DD
5개월 전
조회수 45

20년 된 레거시 정산 시스템확장성 한계를 극복하기 위해 시스템 개편을 시작함

분할 정복데이터 모델링 개선을 통해 데이터 무결성을 확보하고, 코드의 가독성을 높임

Spring Batch 기반의 배치 시스템을 Kubernetes에서 Jenkins로 이전, I/O 횟수 감소병렬 처리를 통해 배치 성능 10배 향상

분할 정복 기반의 시스템 아키텍처 개선

기존 모놀리식 쿼리분할 정복 방식으로 개선하여 비즈니스 로직을 명확하게 분리했다. 구체적으로, 도메인 분리세부 기능 분리를 통해 코드의 가독성을 높이고, 변경의 영향 범위를 최소화했다. 따라서 유지보수 비용 감소점진적 시스템 전환을 가능하게 했다.

데이터 모델링 및 데이터 고해상도 문제 해결

집계된 데이터 대신 거래 단위 데이터 관리로 데이터 추적 가능성을 확보했다. 따라서 오류 발생 시 원인 파악이 용이해지고, 다양한 관점의 데이터 활용이 가능해졌다. 설정 정보 스냅샷을 통해 데이터 무결성을 보장하고, 상태 기반 재처리장애 복구 시간 단축을 달성했다.

배치 시스템 성능 최적화: I/O 감소 및 병렬 처리

I/O 횟수 감소를 위해 설정 정보 캐싱, Bulk 조회, JDBC Batch Insert를 적용했다. 병렬 처리를 위해 외부 API 병렬 호출Multi-threaded Step을 활용했다. 결과적으로 배치 처리 시간 단축전체 시스템 성능 향상을 이끌어냈다.

레거시 정산 개편기: 신규 시스템 투입 여정부터 대규모 배치 운영 노하우까지