프로젝트 배경
1) 문제점 - 거래소별 WebSocket 재접속 전략이 달라 NestJS 어댑터 인터페이스에서 재접속 정책을 공통화하면서도 거래소별 차이를 수용하는 설계 - 체인별 Gas Fee API 응답 지연으로 실효 스프레드 계산 시 Gas Fee 데이터가 최신이 아닐 수 있는 스탈(stale) 데이터 처리 전략 - 다수의 Bull Queue Worker가 동시에 동일 코인 스프레드 이벤트를 처리할 때 DB 중복
프로젝트 성과
NestJS DI 기반 거래소 어댑터 구조 구현
5개 거래소 WebSocket 어댑터를 공통 인터페이스로 추상화하여 신규 거래소 추가 시 어댑터 클래스만 구현하면 되는 확장 구조 설계
Bull Queue 비동기 이벤트 파이프라인 구축
스프레드 탐지·DB 저장·알림 발송을 독립 Bull Queue Worker로 분리하여 각 단계가 서로 영향을 주지 않는 비동기 파이프라인 구현
멀티체인 Gas Fee 실효 스프레드 계산
ETH/BSC/Polygon Gas Fee를 Bull Queue로 주기 조회하고 Redis 캐시에서 참조하여 네트워크 수수료 차감 후 순수익률을 계산하는 로직 구현
PostgreSQL 윈도우 함수 집계 쿼리 설계
시간대별 스프레드 분포, 백분위수 분석을 SQL 윈도우 함수로 DB 레이어에서 처리하는 분석 쿼리 구조 설계
Telegram 알림 내결함성 재시도 구현
Bull Queue 지수 백오프 재시도로 Telegram API 일시 장애 시 알림 유실 없이 자동 재발송되는 Worker 구현
핵심 기능
진행 단계
NestJS 모듈 아키텍처 설계
2025.10.
거래소별 WebSocket 어댑터, 스프레드 계산, 알림, 이력 저장 모듈을 DI 구조로 분리 설계
프로젝트 상세
1) 포트폴리오 소개 빗썸·업비트·Gate·Binance·Bybit 5개 거래소와 ERC-20·BEP-20·Polygon 등 멀티체인 네트워크를 고려한 아비트리지 기회를 탐지·분석하는 통합 플랫폼. NestJS 모듈 아키텍처, Bull Queue 비동기 작업 처리, WebSocket 기반 실시간 스트리밍과 스프레드 이력 분석 대시보드를 설계 및 구현. 2) 작업 범위 - 멀티체인 스프레드 탐지: 5개







