토스뱅크가 외환송금 속도를 10배 빠르게 한 비결

달러나 엔화 등을 외국의 계좌로 보내는 외환송금을 언제 어디서나 할 수 있는 시대가 왔다. 뱅킹 앱이나 핀테크 앱에서 단 몇 분이면 외화 송금이 가능하다. 토스뱅크도 외환송금 서비스를 최근 시작했다. 토스뱅크는 1초도 안되는 시간에 외환을 송금할 수 있도록 서비스를 구현했다. 이 속도는 원화송금보다 무려 10배가 빠르다. 어떻게 이런 기술 구현이 가능했을까.

장세경 토스뱅크 엔지니어는 12일 삼성동 코엑스 그랜드볼룸에서 열린 토스의 개발자 컨퍼런스 ‘토스슬래시24’에서 토스뱅크의 외환 서비스 개발기를 소개했다.

외환송금은 토스뱅크가 올 7월 선보인 따끈따끈한 서비스다. 하루 최대 500만원, 연 최대 2000만원 외화를 타 외화통장으로 송금할 수 있다. 미국 달러, 일본 엔, 유럽 유로, 중국 위안 등 17개 통화 송금이 가능하며 수수료는 무료다.

정 엔지니어에 따르면, 서비스 출시에 앞서 토스뱅크 개발 팀은 고민에 빠졌다. 어떻게 하면 레거시 시스템의 한계를 극복하고, 더 빠른 서비스를 제공할 수 있을지 탐구했다. 초창기 토스뱅크의 코어뱅킹 아키텍처는 전통 금융권에서 흔히 쓰이는 오라클, 카프카(Kafka) 등의 기술로 이뤄졌다. 즉, 하나의 서버에 입출금, 계좌개설, 해지, 결산 등 모든 서비스가 담겨있는 모놀리식 구성이었다.

장세경 토스뱅크 서버 엔지니어는 “초기 토스뱅크의 아키텍처는 레거시, 모놀리식한 거대 덩어리로 구성됐다”며 “이 경우 장점과 단점이 뚜렷한데, 하나의 서버에서 모든 트랜잭션을 처리할 수 있다는 장점과, 반대로 한 개의 업무 컴포넌트에 장애, 지연이 생길 경우 다른 컴포넌트에도 전파된다는 한계가 있다”고 설명했다.

토스뱅크는 이런 레거시 시스템의 한계를 극복하기 위해 마이크로서비스아키텍처(MSA)로 전환하고 있다. MSA는 하나의 큰 애플리케이션을 작은 단위로 쪼개 각 서비스를 독립적으로 개발하고 배포하는 것을 말한다.

장세경 엔지니어는 “예전에는 모든 트랜잭션을 데이터베이스(DB) 내에서 관리했다면, 지금은 IT기술의 발전으로 레디스(redis), 카프카를 활용해 애플리케이션 레이어에서도 효율적으로 트랜잭션 관리가 가능해졌다”고 전했다.

어떻게 MSA로 전환을 시도했을까? 토스뱅크의 기본적인 시스템 뼈대는 오라클 등 레거시 시스템 위에서 이뤄졌지만, 새롭게 개발하는 외환 서비스의 경우 MSA와 MySQL로 구축하기로 했다.

토스뱅크는 수신, 외화, 예금 등의 서비스에 MSA를 적용, 메인 개발에는 코틀린, DB저장소로는 MySQL 등을 사용했다. 또 고객과 관련이 없는 은행 내부 회계처리는 카프카를 이용해 비동기적으로 분리했다. 고객이 토스뱅크에 환전을 요청하면 외환서버에서 환율을 확정한 뒤, 수신외화예금 서버에서 외화를 입금하는 방식으로 서비스를 구현했다.

장세경 엔지니어는 “은행 계좌 처리는 카프카를 통해 트랜잭션을 분리했다”며 “빠른 응답속도를 위해 애플리케이션 레이어에 레디스를 분산했다”고 말했다. 또 “레이턴시가 폭발적으로 증가하는 문제를 해결하기 위해 코틀린을 이용했고, 이에 따라 효과적으로 레이턴시를 낮출 수 있었다”고 전했다.

그 결과, 토스뱅크는 외화 환전 서비스를 원화 송금 서비스보다 10배 빠르게 구현할 수 있었다. 원화송금에 300ms의 시간이 걸린다면, 외화환전은 30ms의 시간이 소요된다. MySQL뿐만 아니라 레디스를 활용한 캐싱, 코루틴 등의 신기술을 활용해 애플리케이션의 처리 속도를 증가한 덕분이다.

장세경 엔지니어는 “레디스, 코루틴 등 모던한 기술을 접목해 기존 원화송금 대비 10배 빨라진 외화환전 서비스를 제공할 수 있었다”고 밝혔다.

토스뱅크는 금융권 중 처음으로 MySQL과 MSA 기반의 안정적인 코어뱅킹 시스템을 구축했다고 강조했다. 장세경 엔지니어는 “1910만 MAU가 발생하고 있는 토스 홈에서의 3000TPS 트래픽을 안정적으로 소화 중”이라며 “MySQL로 코어뱅킹 DB 구축에 성공했음을 시사한다”고 해석했다.

글. 바이라인네트워크
<홍하나 기자>0626hhn@byline.network

[무료 웨비나] API연결만으로 가능한 빠르고 쉬운 웹3 서비스 구축

  • 내용 : API 연결을 통해 웹2와 웹3를 끊김 없이 연결하는 최신 융합 기술과 이를 통한 적용 사례를 다룹니다.
  • 일시 : 2024년 10월 10일 (목) 14:00 ~ 15:10

첫 댓글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다