실시간 스포츠 데이터·베팅·커뮤니티 플랫폼
실시간 경기 경험을 위한 프로덕션급 플랫폼으로, 높은 동시 접속 환경에서 실시간 피드 전송, 거래 처리 흐름, 검색, 사용자 참여 시스템을 통합했습니다.
REQUIREMENT
이 프로젝트에는 실시간 및 예정된 경기, 사용자 참여, 커뮤니티 기능 및 제3자 통합을 위한 스포츠 플랫폼 구축이 포함되었습니다. 주요 기술적 초점은 트래픽 급증, 피드 폭증, 통합 문제 중에 실시간 경험을 안정적으로 유지하는 것이었습니다.
구축 과제
플랫폼은 갑자기 도착하거나 순서 없이 도착할 수 있는 외부 피드를 처리하는 동시에 사용자가 접하는 여러 표면에서 실시간 경기 데이터를 동기화해야 했습니다. 또한 결제, 공급자 콜백, 잔액 관련 작업, 검색, 조정 도구 및 반응형 라이브 페이지에 대한 안정적인 지원이 필요했습니다.
해결 방안
우리는 실시간 데이터 처리, 캐싱, 검색 및 실시간 전달을 위한 이벤트 기반 백엔드를 구축했습니다. 시간에 민감한 매치 업데이트가 느린 트랜잭션 및 콘텐츠 워크플로우와 분리되어 로드 시 라이브 경험이 응답성을 유지했습니다.
- 점수, 경기 이벤트, 해설 및 통계에 대한 WebSocket 기반 실시간 업데이트
- 피드 수집 및 이벤트 처리를 위한 RabbitMQ 파이프라인
- 실시간 경기 상태 및 빠른 업데이트를 위한 Redis 캐싱
- 잔액, 거래, 참여, 판촉 및 쇼핑 흐름을 위해 최적화된 스키마
- 경기, 프로모션, 커뮤니티 콘텐츠 전반에 대한 빠른 검색을 위한 Elasticsearch
- 재시도 처리 및 콜백 확인과 멱등성 공급자 통합
- 확인 및 조정 지원과 결제 게이트웨이 통합
- 채팅, 클럽, 게시물, 사용자 신고, 악용 제어를 포함한 커뮤니티 기능
- 여러 제공업체에 대한 소셜 로그인 및 계정 연결
- 부분 새로 고침 및 API 로드 감소로 라이브 페이지 성능이 향상되었습니다.
- 구조화된 로깅, 상관 관계 ID, 배달 못한 편지 대기열 및 재생 지원
주요 성과
- 실시간 경기 업데이트 지연 시간 감소
- 피드 버스트 및 트래픽 급증 시 안정성이 향상되었습니다.
- 결제 및 제공업체 워크플로의 위험 감소
- 더 빠른 검색을 통해 일치 항목과 콘텐츠를 더 쉽게 찾을 수 있게 되었습니다.
- 향후 라이브 및 참여 기능을 위한 확장 가능한 기반 구축
기술 스택
C#.NET CoreMySQLRedisRabbitMQElasticsearchWebSocketsTypeScriptReactjQuery/AJAX