토스페이먼츠, MySQL 기반 결제 원장으로 시스템 안정성 확보!

by DD
6개월 전
조회수 19

레거시 결제 원장데이터 구조 불일치, 도메인 간 강한 결합 등의 문제점을 분석함

MySQL 기반의 신규 원장 구축을 통해 데이터 일관성 확보, 도메인 간 결합도 감소를 달성함

비동기 적재, Bulk Insert 등 마이그레이션 전략을 통해 무중단 전환장애 대응 능력을 강화함

결제 원장 시스템 아키텍처 심층 분석

기존 Oracle DB 기반의 레거시 시스템은 데이터 구조의 불일치확장성 한계를 보였다. 따라서 MySQL 기반의 신규 원장 구축을 결정, 승인/결제 분리Kafka 이벤트 발행을 통해 도메인 간 결합도를 낮추고 유연성을 확보했다.

마이그레이션 과정의 기술적 도전과 해결

수억 건의 데이터를 무중단으로 이전하기 위해 비동기 방식Bulk Insert를 활용했다. 데이터 정합성 검증을 위해 RO DB 기반의 검증 배치를 운영했으며, 네트워크 대역폭 관리를 통해 서비스 안정성을 유지했다. 결과적으로 데이터 이관 과정의 병목을 제어했다.

장애 대응 및 시스템 안정성 확보 전략

장애 발생 시 롤백쿼리 힌트 추가를 통해 시스템을 복구했다. Outbox 패턴의 이벤트 누락 및 중복 문제를 해결하기 위해 로그 기반 복구멱등키를 활용했다. 따라서 데이터 불일치 문제를 최소화하고 서비스 안정성을 확보했다.

레거시 결제 원장을 확장 가능한 시스템으로