목록 보기
레거시 결제 원장을 확장 가능한 시스템으로
백엔드

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

토스
토스
2025년 12월 1일

두줄요약

20년 된 결제 원장을 MySQL 기반 신규 구조로 전환한 사례를 다뤘습니다. 무중단 마이그레이션과 장애 복구 경험을 통해 확장성과 회복 탄력성을 높였습니다.

문제 상황

  • 20년 이상 운영된 레거시 결제 원장의 구조적 한계와 누적된 복잡성
  • 결제수단별로 다른 테이블 구조, 도메인 간 강한 결합, 결제 확장 제약
  • 수억 건 규모 데이터 이관과 운영 중 장애 대응이 필요한 전환 과제

구조와 흐름

  • MySQL 기반 신규 원장을 독립 구축하고 approve 공통 테이블 중심으로 재설계
  • 취소 데이터는 INSERT-only로 관리해 불변성, 히스토리 추적, 데드락 완화 확보
  • Kafka 이벤트, 도메인 분리, 결제와 승인 개념 분리로 결합도 감소와 복합결제 지원

해결 방법

  • 기존 원장 우선 저장 후 신규 원장 비동기 적재로 무중단 전환
  • RO DB 검증 배치와 멱등성·재적재 체계로 누락 데이터 보정
  • 별도 마이그레이션 서버, Bulk Insert, 로컬 캐시, 네트워크 대역폭 조정으로 대규모 이관 수행

주의할 점

  • 데이터 증가 시 쿼리 옵티마이저의 실행 계획 변화와 풀스캔 가능성
  • 멀티 원장, 외부 원천사, MSA 타임아웃 불일치로 인한 정합성 이슈
  • Outbox, 재발송, 로그 복구, 멱등키 같은 운영 복구 장치 필요

적용해볼 점

  • 신규 테이블 설계 시 운영 데이터 규모까지 포함한 쿼리 검증
  • 비동기 마이그레이션과 정합성 보정 배치의 병행
  • 장애 복구 가능한 구조와 멱등성 중심 이벤트 설계

다음 읽기

#MSA 주제를 이어서 읽기

20년 레거시를 넘어 미래를 준비하는 시스템 만들기

토스페이먼츠가 20년 레거시 결제 시스템을 현대적 아키텍처로 개편한 과정을 소개했습니다. 점진적 전환과 표준화, 자동화로 안정성과 성능을 함께 끌어올렸습니다.

토스
토스
아키텍처

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...