2018년 빗썸 가입 당시에는 PHP 동기식 거래 시스템이었습니다.
당시 빗썸은 1차 거래소와 2차 거래소 형태로 사업을 운영하고 있었고, 두 거래소는 각각 비동기식 거래 시스템을 구현했다.
저는 Exchange 2에 대한 아웃소싱으로 개발된 비동기 거래 시스템을 여는 작업으로 회사에 합류했습니다.
어떻게든 공개와 업데이트 전략으로 열심히 테스트하고 수정했지만 결국 OPEN은 불가능하다는 결론에 도달했습니다.
주된 이유는 다음과 같습니다.
* 기존 금융권에서 사용하던 통신 미들웨어/솔루션을 사용하고 있었는데 데이터 유실/데이터 일관성 처리가 어려웠습니다.
* 기존 시스템에서 사용하는 아키텍처/프레임워크가 일관성이 없고 데이터의 흐름을 예측하기 어려웠습니다.
따라서 장기 계획의 일환으로 새로운 개발이 시작되었습니다.
* 공통 프레임워크 작성
* kafka/redis/consul 소개
* MSA 아키텍처 소개
약 1년 동안 레거시 시스템의 다양한 기능을 병행하면서 다음과 같은 어려움을 겪었습니다.
한 번 열면 하루에 수천 번 울리는 알람 채널이 알람도 울리지 않을 때 내가 알람을 껐는지 의심하게 만들었던 때가 기억난다.
우리는 하루에 2억 5천만 건의 통화를 처리하는 시스템을 만든 것을 자랑스럽게 생각합니다.
개발 환경: MSA, 프라이빗 클라우드, Linux C/C++, Kafka, Redis, 최적 프레임워크
