피드로 돌아가기
State Drift in a Polymarket Trading System Using Event Sourcing
Dev.toDev.to
Backend

Event Sourcing 도입을 통한 Trading System의 State Drift 완전 제거

State Drift in a Polymarket Trading System Using Event Sourcing

Trader Developer2026년 6월 18일1intermediate

Context

WebSocket 업데이트 누락 및 API 응답 지연으로 인한 In-memory 상태와 실제 시장 데이터 간의 불일치 발생. 시스템 크래시 없는 Silent Inconsistency로 인해 잘못된 Position 계산 및 중복 Exposure 위험 초래.

Technical Solution

  • State 직접 저장 방식에서 Event Log 기반의 Event Sourcing 아키텍처로 전환
  • Trade, Order, Fill 이벤트를 순차적으로 기록하여 Deterministic한 상태 재구성 환경 구축
  • Event Log → State Rebuild → Current State로 이어지는 데이터 흐름 설계를 통한 Replayable 시스템 구현
  • 실제 Position과 내부 상태를 주기적으로 비교하여 오차를 교정하는 Reconciliation Layer 추가
  • 런타임 메모리 의존도를 낮추고 히스토리 기반의 상태 복원 메커니즘 적용

- 실시간 데이터 스트림 처리 시 In-memory 상태의 절대적 신뢰 지양 - 시스템 상태를 저장 데이터가 아닌 이벤트의 결과물로 정의하는 구조 검토 - 외부 시스템과의 상태 동기화를 위한 주기적 Reconciliation 프로세스 설계 - 장애 복구 및 디버깅을 위한 Event Log의 불변성(Immutability) 확보

원문 읽기