29CM, Spring Boot로 정산 시스템 혁신!

by DD
12개월 전
조회수 4

Django 기반 레거시 정산 시스템의 성능 한계유지보수 어려움을 겪음

Spring Boot 기반의 새로운 시스템으로 전환하여 확장성유연성 확보

Spring Batch를 활용, 병렬 처리유지보수성을 개선하여 정산 처리 속도 향상

레거시 시스템의 기술 부채

기존 정산 시스템은 Django 기반으로 구축되었으며, PostgreSQL 프로시저를 활용하여 정산 로직을 처리했다. 구체적으로, 프로시저 내 복잡한 SQL 쿼리와 트리거로 인해 코드 가독성이 낮았고, 변경 비용이 높았다. 따라서, 확장성 확보에 어려움을 겪었다.

Spring Batch를 활용한 개선

신규 시스템은 Spring Batch를 도입하여 정산 로직을 모듈화했다. 따라서, 병렬 처리를 통해 배치 처리 시간 단축을 달성했다. Reader, Processor, Writer 구조를 활용하여 유지보수성을 높였으며, 정산 기준 추가에 유연하게 대응할 수 있도록 설계되었다.

데이터 마이그레이션 전략

신규 시스템은 데이터 마이그레이션 비용을 최소화하기 위해, 기존 데이터를 점진적으로 이관했다. 구체적으로, 정산 상세 내역은 기존 테이블을 유지하고, API 조건 분기를 통해 호환성을 확보했다. 반면, 월간 집계 데이터는 신규 테이블로 이관하여 페이징 성능을 개선했다.

구관이 꼭 명관은 아니다: 정산 시스템의 세대교체