가상자산 거래소, 그중에서도 코인원

장준호 CTO

안녕하세요, 코인원에서 CTO를 맡고 있는 장준호입니다. 


코인원은 올해 10년을 맞이한 가상자산 거래소입니다. 코인원의 테크 조직은 유저에게 좋은 거래 경험을 제공하기 위해 계속 성장하고 있습니다. 


오늘은 커머스나 다른 핀테크 업종과는 조금 다른 가상자산 거래소 개발이 가진 몇가지 특징에 대해 소개하려고 합니다. 


가상자산 거래소의 가장 큰 특징은 시장 상황에 따라서 거래량이 급증하는 경우가 발생한다는 점입니다. 

많은 유저가 동시에 거래를 하더라도 문제가 없도록 안정적인 서비스를 제공하기 위해 고속 거래 엔진이 필요합니다. 


현재 코인원에서는 260여 종의 가상자산 거래를 지원하는 고속 거래 엔진을 보유하고 있으며, 트래픽이 급증하는 경우에도 유저의 거래가 매끄럽게 진행되도록 백엔드/DB/인프라 측면에서 최적화 작업을 많이 하고 있습니다.


260여 종의 가상자산의 입출금도 24/7 지원하고 있습니다. 이를 위해 블록체인 전문가들이 모여 각 블록체인 메인넷과 스마트 컨트랙트를 분석하고, 입출금이 안전하고 신속하게 이루어질 수 있도록 서포트하고 있습니다. 금융 서비스인 만큼 거래와 입출금이 일어날 때 정확한 기록이 중요하며, 매일 주기적 대사를 통해서 모든 자산이 정합성이 맞게 이동되었는지 체크합니다.


# 방대한 데이터를 다룬다

코인원이 보유한 유저 거래 데이터는 테라바이트 단위입니다. 이러한 방대한 데이터를 이용하여 가공/축약하는 작업을 통해 새로운 서비스를 제공할 때가 많습니다.


예를 들어, 유저에게 손익을 보여주는 “자산분석" 서비스가 있습니다. 유저에게 일별, 월별, 연도별 손익을 보여주기 위해서는 유저별 기존 데이터를 전체적으로 분석하고 적재하는 과정이 필요합니다. 코인원 개발 조직에서는 AWS Aurora MySQL과 GCP BigQuery를 적극 활용하여 유저에게 보여지는 퍼포먼스에 문제가 없으면서 개발을 신속하게 할 수 있는 방안을 채택했습니다.


코인원 자산분석 서비스

그리고 AWS의 Managed Service를 적극적으로 활용하여 성능, 관리 효율화 두 마리 토끼를 잡으려 노력하고 있습니다. 아래 구성도와 같이 유저의 거래 퍼포먼스에 영향을 주지 않는 Replica DB를 이용해 정보를 읽어 AWS DMS(Data Migration Service)를 통해 실시간 동기화를 하고, 해당 데이터를 Spring Boot Batch 서버를 통해 가공하여 적재합니다.

코인원 자산분석 서비스 구성도

추가로 서비스가 문제 없이 동작하는지, 데이터상의 정합성은 맞는지, 유저에게 정확한 데이터가 전달되는지를 실시간으로 파악하기 위해, Grafana를 적극적으로 활용하고 있으며, 로그 데이터 적재를 위해 Kafka를 사용합니다.

# Kafka의 적극 활용

위 예시에서 Kafka를 로깅 용도로 사용하는 것이 의아할 수 있을 것 같은데요. 사실 코인원 개발 조직은 Kafka 사용을 적극 장려하고 있습니다. 메시지 큐 중에서도 가장 안정적이고 성능이 보장되기 때문입니다.


코인원의 랭킹보드 서비스에서도 Kafka를 사용하고 있습니다. 랭킹보드 서비스는 정해진 시간 내에 거래를 많이 한 유저가 리워드를 받을 수 있는 경쟁 시스템입니다.

코인원 랭킹보드 서비스

랭킹보드 서비스 구현을 위해 앞서 설명드렸던 자산분석 서비스와 같이 거래 데이터를 최대한 실시간으로 가져와서 처리해야 하는 챌린지가 있었습니다. 이를 위해 Kafka를 통해 거래 데이터를 실시간으로 가져오고 Batch 서버에서 가공하여 적재하는 구조로 설계했습니다.

코인원 랭킹보드 서비스 구성도

이뿐만 아니라 블록체인 데이터 수집과 처리 등 다양한 서비스에서 Kafka를 활용하고 있습니다.

# 거래소를 넘어

코인원은 최근 국내 거래소 중 유일한 커뮤니티 게시판을 런칭했습니다. 게가상자산을 바라보는 유저들의 시각을 서로 공유할 수 있는 서비스입니다. 기존에 지원했던 채팅과 더불어 유저들이 시황 정보를 공유하고 투자에 도움이 될 수 있도록 지원하고 있습니다.



코인원 커뮤니티 서비스

거래소 본연의 기능인 거래와 입출금을 넘어서 다양한 실험을 하고 있으며, 모든 유저의 이벤트 데이터를 분석하고 회고하는 사이클을 반복하면서 성장을 도모하고 있습니다.


이와 같이, 거래소를 넘어 플랫폼으로서의 성장과 더불어 매력적이고 독창적인 서비스를 만들기 위해 불철주야 노력하고 있습니다.

함께 코인원의 성장 여정에 동참할 인재를 찾고 있습니다. 한국의 가상자산 트랜드를 같이 이끌어갈 인재분들과 함께하고 싶습니다!