이 페이지는 자동 번역되었습니다. 영어 원문이 정본입니다. 영어로 읽기
메인 콘텐츠로 건너뛰기

인시던트 플레이북

일반적인 이슈에 대한 대응 절차입니다.

연결 이슈

WebSocket 연결 끊김

증상: WebSocket 연결 끊김, 메시지 수신 안 됨

조치:

  1. 지수 백오프(exponential backoff) 방식의 자동 재연결 구현
  2. REST 엔드포인트를 폴링하여 누락된 업데이트 확인
  3. 재연결 후 모든 채널 재구독

예방: 연결 상태를 모니터링하고 견고한 재연결 로직을 구현합니다

API 타임아웃

증상: REST 요청이 타임아웃되거나 5xx 오류 반환

조치:

  1. 지수 백오프 방식으로 재시도
  2. 헬스 엔드포인트 확인: GET /health
  3. 시스템 과부하 시 요청 빈도 감소

예방: 요청 스로틀링과 서킷 브레이커를 구현합니다

주문 이슈

높은 거부율

증상: 다수의 주문이 거부됨

조사:

  1. GET /orders?wallet=...를 통해 거부 사유 확인
  2. 증거금 검토: GET /portfolio?wallet=...
  3. 티어 확인: GET /user-tier?wallet=...
  4. 상품이 만기되지 않았는지 확인: GET /instruments

조치:

  • 증거금 문제인 경우: 포지션 규모를 줄이거나 담보 추가
  • 티어 문제인 경우: tier2로 업그레이드하거나 커버된 매도 사용
  • 만기된 경우: 다른 상품 사용

체결 누락

증상: 주문이 체결되었으나 체결 알림이 오지 않음

조사:

  1. GET /fills?wallet=...에서 체결 내역 확인
  2. WebSocket fills 채널 구독 확인
  3. WebSocket 연결 상태 확인

조치:

  • fills 채널 재구독
  • REST 엔드포인트를 폴링하여 누락된 체결 확인
  • 체결 내역과 주문 상태 대조

오래된 주문 상태

증상: REST의 주문 상태가 WS와 일치하지 않음

조사:

  1. WebSocket 연결 상태 확인
  2. 주문 캐시가 최신 상태인지 확인
  3. REST와 WS의 주문 상태 비교

조치:

  • WS 재연결 후 REST를 폴링하여 최신 상태로 동기화
  • 대조 작업 시 REST를 신뢰 가능한 원천(source of truth)으로 사용

MMP 이슈

MMP가 너무 자주 발동됨

증상: 다수의 주문이 MMP에 의해 취소됨

조사:

  1. MMP 설정 확인: GET /mmp-config?wallet=...&currency=...
  2. 체결 패턴과 누적 지표 검토
  3. 한도가 너무 낮게 설정되었는지 확인

조치:

  • MMP 한도 상향 (수량, 델타, 베가)
  • interval_ms를 늘려 윈도우 내 더 많은 체결 허용
  • 호가 제출 빈도 감소

MMP가 발동되지 않음

증상: 체결이 한도를 초과했으나 MMP가 발동되지 않음

조사:

  1. MMP가 활성화되어 있는지 확인: GET /mmp-config?wallet=...&currency=...
  2. 주문에 mmp_enabled=true 설정 여부 확인
  3. 통화가 주문의 기초자산과 일치하는지 확인

조치:

  • 주문에 MMP 활성화: mmp_enabled=true
  • 올바른 통화에 대해 MMP 설정
  • 필요 시 한도 조정

증거금 이슈

증거금 부족

증상: "Insufficient margin" 오류와 함께 주문 거부

조사:

  1. 포트폴리오 확인: GET /portfolio?wallet=...
  2. 증거금 계산 검토
  3. 어느 시나리오에서 실패하는지 확인

조치:

  • 포지션 규모 축소
  • 담보 추가 (입금 플로우 구현 시)
  • 포지션 청산으로 증거금 확보
  • 최악의 경우 손실을 줄이기 위해 익스포저 헤지

현물 가격 누락

증상: "No spot price available" 오류와 함께 주문 거부

조사:

  1. Hyperliquid 현물 가격 피드 연결 상태 확인
  2. 기초자산 심볼이 올바른지 확인
  3. 현물 가격 피드가 정상 작동 중인지 확인

조치:

  • 현물 가격 피드가 복구될 때까지 대기
  • 가능한 경우 다른 기초자산 사용
  • 문제가 지속되면 지원팀에 문의

시스템 이슈

높은 지연 시간

증상: API 응답이 느리거나 WebSocket 메시지 지연

조사:

  1. 시스템 부하 확인
  2. 응답 시간 모니터링
  3. 네트워크 연결 상태 확인

조치:

  • 요청 빈도 감소
  • 요청 스로틀링 구현
  • 문제가 지속되면 지원팀에 문의

요청 제한 (Rate Limiting)

증상: 요청이 거부되거나 스로틀링됨

현황: 요청 제한은 지갑 단위로 적용됩니다. 자세한 내용은 요청 제한을 참고하세요.

조치:

  • Retry-After 헤더를 확인하고 재시도 전 대기
  • X-RateLimit-Remaining을 모니터링하여 한도 도달 방지
  • 가능한 경우 벌크 엔드포인트 사용

비상 절차

킬 스위치

즉시 조치:

  1. 모든 주문 취소: DELETE /bulk_order 또는 DELETE /bulk_order_cloid
  2. WebSocket 연결 해제
  3. 호가 시스템 중지

복구:

  1. 모든 주문이 취소되었는지 확인: GET /orders?wallet=...
  2. 포트폴리오 검토: GET /portfolio?wallet=...
  3. 근본 원인 조사
  4. 문제 해결 후 호가 재개

데이터 대조

인시던트 이후:

  1. REST 엔드포인트를 폴링하여 현재 상태 확인
  2. 주문 대조: GET /orders?wallet=...
  3. 체결 대조: GET /fills?wallet=...
  4. 포트폴리오 대조: GET /portfolio?wallet=...
  5. WebSocket 구독 재개

에스컬레이션

문제가 지속되는 경우:

  1. 액세스 시 제공된 알려진 이슈 및 스테이징 공지 검토
  2. 상세 절차는 런북 확인
  3. 다음 정보와 함께 지원팀에 문의:
    • 지갑 주소
    • 오류 메시지
    • 타임스탬프
    • 재현 단계