본문 바로가기
AI

Claude Code 로 거래소 만들기(2)

by 완스컴퍼니 2026. 2. 13.

전편에 이어서..

머 어느정도 완료는 되었습니다.

더 이상 고도화 할 필요는 없어서 여기서 멈추지만 주문 체결 선물 포지션 청산 까지 구현은 했고

TPS 도 잘 나오네요. 더 고도화 하다간 제 컴터가 먼저 하늘나라 갈꺼 같아서...

시스템 아키텍처

[사용자 브라우저] → [CloudFront/S3] → [ALB] → [API Gateway :8080]
                                                      │
                    ┌──────────────────────────────────┼──────────────────────────┐
                    │                                  │                          │
              [UCenter :6001]                  [Exchange API :6004]        [Market :6003]
              (회원/인증/KYC)                   (현물거래 API)              (시세/WebSocket)
                    │                                  │                          │
              [OTC API :6002]                [Exchange Engine :6005]      [Futures API :6009]
              (P2P 거래)                      (주문 매칭 엔진)            (선물거래 API)
                    │                                  │                          │
              [Wallet :6006]                [Futures Engine :6008]         [Chat :6007]
              (입출금)                        (선물 매칭 엔진)              (메시징)
                    │                                  │                          │
              [Admin :6010]                   [Robot :20000]               [Redis 7]
              (관리자 API)               (시장조성 봇 - 바이낸스 추종)      (캐시/세션)
                    │                                  │                          │
                    └──────────────[MySQL 8.0]─────────┼────[MongoDB 7.0]─────────┘
                                                       │
                                                  [Kafka 3.6]
                                              (이벤트 스트리밍)

핵심 기능

거래 기능은 현물 거래(실시간 오더북 + 캔들차트), 선물 거래(레버리지 지원), OTC P2P 법정화폐 거래(에스크로), 그리고 바이낸스/OKX/HTX 시세를 추종하는 자동 시장조성 봇까지 포함합니다.

사용자 기능으로는 이메일/SMS 인증 회원가입, KYC 본인인증(신분증 업로드), 2FA, 다중 화폐 지갑(입출금), 추천인 시스템(커미션 추적)이 있습니다.

관리자 기능은 회원 관리, KYC 승인 워크플로우, 거래쌍/코인 설정, 주문 모니터링, 재무 리포트, 봇 제어까지 60개 이상의 관리 페이지로 구성됩니다.

이걸 aws 테라폼으로 배포한다고 할때..

성능 분석: 사양별 수용 가능 유저 수

이 시스템의 성능 병목 지점을 분석하고, 서버 사양별로 수용 가능한 유저 수를 추정했습니다.

병목 지점 분석

구간 병목 요소 영향
매칭 엔진 심볼당 단일 스레드 synchronized 처리 단일 거래쌍 최대 처리량 제한
Gateway Redis Rate Limiter + Connection Pool 동시 접속 수 제한
Kafka 브로커 수 × 파티션 수 메시지 처리 처리량 제한
MySQL 커넥션 풀(HikariCP max 50) + I/O 주문/체결 영속화 병목
WebSocket Market 서비스 메모리 + 네트워크 대역폭 실시간 시세 구독자 수 제한

사양별 성능 추정표

Tier 1: 스테이징/개발 환경 (~$410/월)

구성 요소 사양
ECS Fargate 서비스당 0.5 vCPU / 1GB RAM (12개 서비스)
MySQL db.t3.micro (2 vCPU, 1GB)
Redis cache.t3.micro
Kafka kafka.t3.small × 2 브로커
MongoDB t3.micro EC2
지표 수치
동시 접속 유저 300 ~ 500명
주문 처리량 ~200 건/초 (단일 거래쌍)
WebSocket 구독자 ~1,000명
오더북 깊이 100 호가
API 응답 시간 50~200ms (p95)
일일 활성 유저 ~2,000명

Tier 2: 소규모 프로덕션 (~$1,200/월)

구성 요소 사양
ECS Fargate 서비스당 1 vCPU / 2GB RAM
MySQL db.t3.medium (2 vCPU, 4GB)
Redis cache.t3.small
Kafka kafka.m5.large × 2 브로커
MongoDB t3.small EC2
지표 수치
동시 접속 유저 1,000 ~ 3,000명
주문 처리량 ~800 건/초 (단일 거래쌍)
WebSocket 구독자 ~5,000명
오더북 깊이 100 호가
API 응답 시간 20~100ms (p95)
일일 활성 유저 ~10,000명

Tier 3: 중규모 프로덕션 (~$3,500/월)

구성 요소 사양
ECS Fargate 엔진 2 vCPU / 4GB, API 서비스 1 vCPU / 2GB (Multi-AZ)
MySQL db.r6g.large (2 vCPU, 16GB) + Read Replica 1대
Redis cache.r6g.large (클러스터 모드)
Kafka kafka.m5.large × 3 브로커
MongoDB r6g.large EC2
지표 수치
동시 접속 유저 5,000 ~ 15,000명
주문 처리량 ~3,000 건/초 (단일 거래쌍)
WebSocket 구독자 ~20,000명
오더북 깊이 100 호가
API 응답 시간 10~50ms (p95)
일일 활성 유저 ~50,000명

Tier 4: 대규모 프로덕션 (~$8,000+/월)

구성 요소 사양
ECS Fargate 엔진 4 vCPU / 8GB, API 2 vCPU / 4GB (3-AZ)
MySQL db.r6g.xlarge (4 vCPU, 32GB) + Read Replica 2대
Redis cache.r6g.xlarge (클러스터 모드, 3 샤드)
Kafka kafka.m5.2xlarge × 3 브로커
MongoDB r6g.xlarge EC2 (레플리카셋)
지표 수치
동시 접속 유저 20,000 ~ 50,000명
주문 처리량 ~8,000 건/초 (단일 거래쌍)
WebSocket 구독자 ~80,000명
오더북 깊이 100 호가
API 응답 시간 5~30ms (p95)
일일 활성 유저 ~200,000명

요약 비교표

항목 Tier 1 (스테이징) Tier 2 (소규모) Tier 3 (중규모) Tier 4 (대규모)
월 비용 ~$410 ~$1,200 ~$3,500 ~$8,000+
동시접속 300~500 1K~3K 5K~15K 20K~50K
주문/초 ~200 ~800 ~3,000 ~8,000
DAU ~2K ~10K ~50K ~200K
적합 용도 개발/테스트 소규모 런칭 중견 거래소 대형 거래소

참고: 위 수치는 코드 구조, 자료구조 특성, 인프라 사양을 기반으로 한 이론적 추정치입니다. 실제 성능은 거래쌍 수, 주문 패턴, 네트워크 환경에 따라 달라질 수 있으며, 프로덕션 배포 전 반드시 부하 테스트를 수행해야 합니다. 프로젝트에는 1,000명 동시 사용자를 시뮬레이션하는 부하 테스트 프레임워크(loadtest/)가 포함되어 있습니다.

 

 

답이 없습니다 ㅋㅋ

다들 즐거운 AI 생활 되세용