컨퍼런스
C레벨 - 고난도
은행 최초 코어뱅킹 MSA 전환기
MSA
금융
분산트랜잭션
KotlinSpring BootKafkaOracleMySQL
배경
토스뱅크는 20년 이상 운영된 레거시 코어뱅킹 시스템(모놀리식 아키텍처)을 사용하고 있었습니다. 기존 시스템은 단일 Oracle DB 기반으로 모든 계정계 업무를 처리했으며, 변경 하나에도 전체 시스템 영향도 분석이 필요한 구조였습니다.
도전 과제
은행 코어뱅킹 시스템의 MSA 전환은 업계 최초 시도였습니다. 24시간 무중단 운영이 필수인 금융 시스템에서 데이터 정합성을 보장하면서 서비스를 분리해야 했고, 레거시 시스템과의 호환성도 유지해야 했습니다. 트랜잭션 일관성, 분산 락, 보상 트랜잭션 등 복잡한 분산 시스템 문제를 금융 규제 환경에서 해결해야 했습니다.
해결 방안
Saga 패턴 기반의 분산 트랜잭션 관리, 이벤트 소싱을 통한 데이터 일관성 보장, 서비스별 독립 DB 구성(Database per Service), Kotlin + Spring Boot 3.x 기반 백엔드 현대화를 단계적으로 진행했습니다. 특히 '지금 이자 받기' 기능을 파일럿으로 선정하여 MSA 전환의 성공 사례를 만들었습니다.
결과
코어뱅킹 MSA 전환 성공으로 독립 배포가 가능해졌고, 장애 격리가 실현되었습니다. 신규 기능 출시 속도가 크게 개선되었으며, 토스뱅크 MAU 480만 명을 안정적으로 서비스하고 있습니다.
핵심 인사이트
- 1.금융 시스템 MSA 전환 시 Saga 패턴은 필수
- 2.파일럿 서비스 선정이 전환 성공의 핵심
- 3.이벤트 소싱으로 데이터 정합성과 감사 추적 동시 해결
- 4.단계적 전환(Strangler Fig 패턴)으로 리스크 최소화