토스ㅣSLASH 24 - 보상 트랜잭션으로 분산 환경에서도 안전하게 환전하기
SLASH 토스 · YouTube
AI 핵심 요약
원화 계좌와 외화 계좌가 서로 다른 데이터베이스를 사용하는 MSA 환경에서는 한쪽 입출금만 성공할 수 있어, 단일 DB 트랜잭션처럼 환전의 원자성을 보장하기 어렵습니다. 토스뱅크는 2PC 대신 오케스트레이션 사가를 선택하고, 원화 출금 후 외화 입금을 진행하며 입금 실패 시 출금 취소를 보상 트랜잭션으로 실행하도록 구성했습니다. 입출금은 동기 HTTP로 처리하고 보상 작업은 Kafka 메시징으로 재시도했으며, 지연 메시지와 배치 재처리, 상태 로그와 입출금 대조로 오류 복구와 모니터링을 보완했습니다. 발표에 따르면 이 구조는 회계·카드 서비스와의 확장에 활용됐고, 출시 후 거래를 안정적으로 처리하며 최근 환전 거래량 12조 원을 돌파했습니다.
- 2PC는 참여 서비스가 모두 트랜잭션을 열고 응답을 기다려야 하므로, 가용성과 확장성이 중요한 환경에서는 사가 패턴과 비교해 신중히 선택해야 합니다.
- 사가 오케스트레이터는 진행 상태를 추적하기 쉽지만 중앙 제어 지점이 되므로, 상태 저장과 장애 복구 방식을 함께 설계해야 합니다.
- 환전은 원화 출금을 먼저 처리해야 외화 입금 직후 다른 거래가 잔액을 가져가 보상할 수 없게 되는 상황을 막을 수 있습니다.
- 동기 HTTP는 즉시 결과와 타임아웃 처리가 필요한 입출금에, 메시징은 비동기 재시도가 가능한 보상 트랜잭션에 활용했습니다.
- 상태 로그, 미완료 거래 알림, 원화·외화 입출금 내역 대조를 함께 두면 분산 거래의 불일치를 탐지하고 복구하는 데 도움이 됩니다.
소개
거대한 은행 계정계 시스템과 새로운 MSA 서비스는 어떻게 협력할 수 있을까요? 계정계 시스템의 원화 계좌와 분리된 외화 계좌를 오가는 환전 트랜잭션 구현법을 소개합니다. 이신동 / Server Developer 토스 개발자 컨퍼런스 SLASH에 대한 자세한 정보는 👉🏻 https://toss.im/slash-24 컨퍼런스 및 세션에 대한 문의는 👉🏻 slash@toss.im 토스에 합류하고 싶다면 👉🏻 https://toss.im/career/jobs #토스 #개발자컨퍼런스 #SLASH #SLASH24 #transaction #토스뱅크 #backend 유의 사항 *본 발표자료의 저작권은 연사에 있으며, 저작권자의 사전 서면 동의 없이 자료의 일부 또는 전부를 이용하거나 배포할 수 없습니다. *또한 해당 자료를 복제하여 SLASH 행사 홈페이지를 제외한 온라인상에 게재하는 행위는 연사가 동의한 저작권 및 배포전송권에 위배됩니다. *토스가 다루는 모든 개인정보...
이 자료가 담긴 로드맵
커뮤니티에서 더 보기비슷한 학습 자료
컨퍼런스 SLASH
트래픽이 쏟아지는 마이데이터 서비스, 과연 어떻게 안정적으로 운영할 수 있을까요? 서비스 운영 과정에서 마주했던 여러 과제들과 기술적인 의사결정을 소개합니다. 신윤재 / Server Developer 토스 개발자 컨퍼런스 SLASH에 대한 자세한 정보는 👉🏻 https://toss.im/slash-24 컨퍼런스 및 세션에 대한 문의는 👉🏻 slash@toss.im 토스에 합류하고 싶다면 👉🏻 https://toss.im/career/jobs #토스 #개발자컨퍼런스 #SLASH #SLASH24 #mydata #backend 유의 사항 *본 발표자료의 저작권은 연사에 있으며, 저작권자의 사전 서면 동의 없이 자료의 일부 또는 전부를 이용하거나 배포할 수 없습니다. *또한 해당 자료를 복제하여 SLASH 행사 홈페이지를 제외한 온라인상에 게재하는 행위는 연사가 동의한 저작권 및 배포전송권에 위배됩니다. *토스가 다루는 모든 개인정보는 고객에게 동의를 받은 후에 처...
백엔드 데이터베이스
컨퍼런스 SLASH
토스ㅣSLASH 24 - 리플레이 검증으로 새로운 금융 시스템 안전하게 도입하기
컨퍼런스 SLASH
거대한 금융 시스템을 운영 환경에 안전하게 도입하려면 어떻게 해야 할까요? 토스증권의 국내원장 차세대 프로젝트와 토스뱅크의 대출 시스템 검증 과정을 공유합니다. 양승영 / 토스증권 Server Developer 박종수 / 토스뱅크 Server Developer 토스 개발자 컨퍼런스 SLASH에 대한 자세한 정보는 👉🏻 https://toss.im/slash-24 컨퍼런스 및 세션에 대한 문의는 👉🏻 slash@toss.im 토스에 합류하고 싶다면 👉🏻 https://toss.im/career/jobs #토스 #개발자컨퍼런스 #SLASH #SLASH24 #server #backend #bankingsystem 유의 사항 *본 발표 자료의 저작권은 연사에 있으며, 저작권자의 사전 서면 동의 없이 자료의 일부 또는 전부를 이용하거나 배포할 수 없습니다. *또한 해당 자료를 복제하여 SLASH 행사 홈페이지를 제외한 온라인상에 게재하는 행위는 연사가 동의한 저...
백엔드 소프트웨어 테스트
컨퍼런스 SLASH
토스ㅣSLASH 23 - 유연하고 안전하게 배포 Pipeline 운영하기
컨퍼런스 SLASH
생산성, 안정성, 보안성을 모두 달성하기 위해선 ‘Pipeline’을 어떻게 설정해야 할까요? 다양하고 복잡한 토스뱅크의 배포 ‘Pipeline’을 안전하게 운영하기 위한 노력을 소개합니다. 김동석 / 토스뱅크 DevOps Engineer 발표 자료 👉🏻 https://bit.ly/42pgzIN 토스 개발자 컨퍼런스 SLASH에 대한 자세한 정보는 👉🏻 https://bit.ly/43kW3tO 컨퍼런스 및 세션에 대한 문의는 👉🏻 slash@toss.im 토스에 합류하고 싶다면 👉🏻 https://toss.im/career/jobs #pipeline #helmtemplate #devopsengineer #토스뱅크 #개발자컨퍼런스 #SLASH *본 발표자료의 저작권은 연사에 있으며, 저작권자의 사전 서면 동의 없이 자료의 일부 또는 전부를 이용하거나 배포할 수 없습니다. *또한 해당 자료를 복제하여 SLASH 행사 홈페이지를 제외한 온라인상에 게재하는 행...
데브옵스 · 인프라
컨퍼런스 SLASH
토스ㅣSLASH 23 - 금융사 최초의 Zero Trust 아키텍처 도입기
컨퍼런스 SLASH
왜 보안이 강화될수록, 업무는 불편해지는 걸까요? 금융에서 가장 중요한 가치인 ‘안전’과 혁신을 위한 ‘업무 편의성’, 두 마리 토끼를 모두 잡기 위한 여정을 소개합니다. 정연우 / 토스 Security Engineer 발표 자료 👉🏻 https://bit.ly/43uQJ7L 토스 개발자 컨퍼런스 SLASH에 대한 자세한 정보는 👉🏻 https://bit.ly/43kW3tO 컨퍼런스 및 세션에 대한 문의는 👉🏻 slash@toss.im 토스에 합류하고 싶다면 👉🏻 https://toss.im/career/jobs #제로트러스트 #보안 #securityengineer #토스 #개발자컨퍼런스 #SLASH *본 발표자료의 저작권은 연사에 있으며, 저작권자의 사전 서면 동의 없이 자료의 일부 또는 전부를 이용하거나 배포할 수 없습니다. *또한 해당 자료를 복제하여 SLASH 행사 홈페이지를 제외한 온라인상에 게재하는 행위는 연사가 동의한 저작권 및 배포전...
보안
컨퍼런스 SLASH
토스ㅣSLASH 23 - 모든 순간을 안전하게, 토스의 서비스 보안 자동화 여정
컨퍼런스 SLASH
애자일한 문화와 우수한 보안, 두 마리 토끼를 모두 잡을 수 있는 방법은 뭘까요? 더 안전하고 지속 가능한 보안을 위한 토스의 ‘서비스 보안 자동화’ 여정을 소개합니다. 표상영 / 토스 Security Researcher 발표 자료 👉🏻 https://bit.ly/3qyp7Qx 토스 개발자 컨퍼런스 SLASH에 대한 자세한 정보는 👉🏻 https://bit.ly/43kW3tO 컨퍼런스 및 세션에 대한 문의는 👉🏻 slash@toss.im 토스에 합류하고 싶다면 👉🏻 https://toss.im/career/jobs #보안자동화 #보안솔루션 #securityresearcher #토스 #개발자컨퍼런스 #SLASH *본 발표자료의 저작권은 연사에 있으며, 저작권자의 사전 서면 동의 없이 자료의 일부 또는 전부를 이용하거나 배포할 수 없습니다. *또한 해당 자료를 복제하여 SLASH 행사 홈페이지를 제외한 온라인상에 게재하는 행위는 연사가 동의한 저작권 및 배...
데브옵스 · 인프라 보안
컨퍼런스 SLASH
토스ㅣSLASH 23 - 오프닝 키노트
컨퍼런스 SLASH
토스의 간편함 이면에 있는 안정성과 보안성, 그리고 이를 향한 끊임없는 기술적 도전과 성취를 소개합니다. 이형석 / 토스 Head of Technology 토스 개발자 컨퍼런스 SLASH에 대한 자세한 정보는 👉🏻 https://bit.ly/43kW3tO 컨퍼런스 및 세션에 대한 문의는 👉🏻 slash@toss.im 토스에 합류하고 싶다면 👉🏻 https://toss.im/career/jobs #금융 #기술 #보안 #토스 #개발자컨퍼런스 #SLASH *본 발표자료의 저작권은 연사에 있으며, 저작권자의 사전 서면 동의 없이 자료의 일부 또는 전부를 이용하거나 배포할 수 없습니다. *또한 해당 자료를 복제하여 SLASH 행사 홈페이지를 제외한 온라인상에 게재하는 행위는 연사가 동의한 저작권 및 배포전송권에 위배됩니다. *토스가 다루는 모든 개인정보는 고객에게 동의를 받은 후에 처리되고 있으며, 접근 권한이 분리되어 있습니다. 개발자는 모든 데이터가 아닌 담당 영...