인프라 스케일링이 중요한 이유
기업이 확장해야하는 이유
"천장이없는 수익. "피크 이벤트 (더비, 파이널, 메이저 슬롯 릴리스) 는 RPS를 곱합니다. 확장 성은 트래픽 급증을 5xx 오류가 아닌 GGR 성장으로 바꿉니다.
안정적인 SLO. 온라인의 대상 프레임 워크 내에 중요한 경로 (속도, 잔액 업데이트, 철회) 의 p95 대기 시간을 유지합니다.
통제되는 비용. Elasticity = "일정한 높이" 가 아닌 "핫 워치" 비용을 지불하십시오.
규제 및 브랜드. 금전 등록기/지갑의 가용성 및 예측 가능한 운영은 감사 및 플레이어 신뢰의 대상입니다.
스케일링 형식
수평 (스케일 아웃)
서비스 인스턴스를 추가합니 무국적 API의 기초, 공급자에게 브리지, 웹 게이트웨이, 작업자. 장점: 내결함, 탄성. 단점: 이데올로기 및 외부 조건이 필요합니다.
수직 (스케일 업)
노드 리소스 증가 데이터베이스 및 OLAP 클러스터에 적합하지만 한계가 있으며 단위 이득 당 더 비쌉니다.
지리적
Multi-AZ 및 필요한 경우 다중 지역: 플레이어에 더 가깝다 → 베팅/스트림에 대한 지연 감소 및 사고에 대한 더 많은 저항.
카지노에서 정확히 확장되는 것
가장자리 및 API: 게이트웨이, WAF, GraphQL/REST, 웹 소켓 허브 (베팅/이벤트).
공급자에게 다리: RPS로 HPA를 사용한 라이브/RNG 어댑터 및 'bet. 허용 된' 시간.
지갑/원장: stateful-core-읽기, 깎기 및 트랜잭션 최적화를위한 복제본을 통한 스케일링.
현금 데스크: 결제 제공 업체/암호화 온/오프 램프를위한 별도의 수영장, 결제 대기열.
대기열/이벤트 버스: 자동 검사 소비자가있는 Kafka/NATS 클러스터.
캐시/디렉토리: 핫 키의 Redis/메모리 캐싱, 정적 자산의 경우 CDN입니다.
스트리밍: QoS를 통해 오토 폴백 및 오토 스케일이있는 WebRTC/LL-HLS 엣지 노드.
공학 철학
1. 돈의 이념성. 'bet. place '/' payout에 의한 모든 재 트레이. 요청 '은 정확히 한 번 처리됩니다 (deimpotence key).
2. 대기열 및 역압. 중요한 경로가 차단되지 않습니다. 공급자/데이터베이스가 느리면 요청이 제어 된 "드레인" 으로 버퍼로 떨어지면 보조 기능이 먼저 저하됩니다.
3. 캐시 먼저. 읽기 무거운 쿼리 (밸런스, 로비) -캐시/구체화 된 뷰를 통해; 장애-사건에 의한.
4. 샤딩. 우리는 데이터/스트림을 분리합니다 (국가, 공급자, 통화 'playerID').
5. 일관성은 돈이있는 곳입니다. 지갑/원장 전용의 엄격한 ACID; 나머지는 결국 사건을 통해 이루어집니
6. 출시 전 관찰 가능성. 메트릭/트레일은 서비스 계약의 일부이며, 그렇지 않으면 오토 스케일은 "블라인드" 입니다.
측정 및 목표 (SLO/SLA)
p95/p99 대기 시간:- '내기. '지역 내 150-250 ms', 지갑을 배치하십시오. 직불/크레디트 ' 인용/제출 '
- 오류율: '5xx' <0. 1–0. API에서 3%, '거부 _ rate' 베팅 <0. 정상 작동 중 2%.
- 처리량: API/브리지의 RPS; 버스에서 이벤트/초.
- 대기열: 길이와 대기 시간 (예: 피크 시간 동안 지불 2-5 분).
- 스트림 QoS: 드롭 프레임, RTT 베팅 신호, 낙태 라운드.
- 캐시 적중: 핫 키에서 적중 비율> 85-95%.
- 비용/수익: 인프라 비용/GGR, 요청 비용 (통화 당 $ $).
도메인 스케일링 패
지갑 및 원장
독서를위한 독자 복제품; 작가-파편 당 하나.
CQRS: 읽기 (구체화 된 슬라이스) 와 분리 된 (엄격하게) 쓰기.
추가 전용 저널을 통해 배치 조정 및 "터치 업" 트랜잭션.
브리지/게임 통합
대기 시간에 의한 자동 스케일의 무국적 어댑터. 받아 들여졌다 '.
UI의 일시적인 저하 및 비활성화 테이블과 함께 각 공급자의 회로 차단기.
지불/암호화
웹 후크 및 PSP/온 체인 청취자를위한 전용 풀; demempotency에 의한 재 처리.
SLA/cost/country를 기반으로하는 공급자 별 라우터.
로딩 작업
근로자/직업 (보너스, 미션, 토너먼트) -대기열에서; 대기열 길이와 마감일별로 조정됩니다.
스트리밍
지역 용 엣지 풀, WebRTC → LL-HLS 자동 파울; QoS 보유에 대한 수직 비트 전송률/품질 제한.
건축 솔루션
HPA/VPA/클러스터 오토 스케일러: HPA-неAPI/bridge; VPA-ETL/보고서; 노드 - 이기종 풀 (CPU가 많고 메모리가 많으며 네트워크에 최적화 됨).
PodDisruptionBudget 및 우선 순위: 돈의 핵심은 변위로부터 보호됩니다.
기능 플래그 및 카나리아 릴리스: 새로운 기능을 일정 비율로 확장하십시오.
지리 라우팅: 애니 캐스트/DNS와 지역 진입 게이트웨이가 사용자와 더 가깝습니다.
비용과 효율성
리소스 프로파일. 요청/제한이 설정되고 실제 프로파일에 해당합니다 (중요한 경로에서 CPU 스로틀링없이).
분석/ETL 및 배경 작업을위한 스팟 풀.
작업 창 밖에서 테스트/스테이지 환경을 자동 비활성화합니다
코어 대신 캐시. CPU에 데이터베이스를 곱하는 것보다 Redis 적중을 추가하는 것이 더 저렴합니다.
스케일 아웃 보안
통화 그래프가 증가함에 따라 서비스 간 mSL/메시.
네트워크 정책: 돈/PII 도메인은 별도의 신탁 영역입니다.
비밀 회전 및 이미지 서명-더 많은 노드 = 더 많은 위험 위치.
폭발 반경 제어: 날카로운 요청 및 요청 제한은 캐스케이드로부터 보호합니다.
반 패턴
글로벌 잠금 장치로 모놀리스 스케일: 난로 증가 = 충돌 증가.
HPA 대신 "보조" 기능의 저하 대신 따뜻한 클러스터가 영원히 "최고" 입니다.
동일한 데이터베이스에서 OLTP와 OLAP을 혼합하십시오. 모든 보고서에서 베팅 지연이 발생합니다.
dempotency 부족-퇴각 (특히 피크에서) 에서 직불 결제의 두 배.
CPU에 의한 블라인드 오토 스케일-실제 메트릭 (시간 'bet. place', 큐 길이) 을 무시합니다.
국가 당 하나의 결제 제공 업체-" 거짓말 "할 때 확장 할 것이 없습니다.
스케일링 구현 체크리스트
전략
- SLO (p95 대기 시간, 오류, RPS) 및 오류 예산이 정의됩니다.
- 도메인 세분화: 돈/요금/현금 데스크-보조 기능과 별개입니다.
데이터
- 샤딩/레플리카, 읽기 당 CQRS, 구체화 된 견해.
- 명확한 장애 정책을 가진 캐시 계층.
인프라
- HPA/VPA, 기타 노드 풀, PDB 및 우선 순위.
- 지리 라우팅, 다중 AZ, DR 준비
응용 프로그램
- 돈/결제/웹 후크를위한 IdempotencyKey.
- 회로 차단기 및 타임 아웃; 역압/대기열.
- 기능 플래그 및 카나리아.
관찰 가능
- 트레일은 엔드 투 엔드입니다 (intress → API → 지갑 → 공급자 → 웹 후크).
- 대시 보드 RPS/대기 시간/오류/대기열/QoS 스트림.
- '거부 _ rate' 성장 및 '라운드' 저하를 경고합니다. 정착 '.
비용
- 수정 요청/제한, 배경 작업을위한 지점, 자동 수면 비 prod.
스케일링 인프라는 "더 많은 서버" 에 관한 것이 "이것은 통제 된 탄력성에 관한 것입니다. 어려운 일관성 (돈) 이 필요한 곳-우리는 파편 핵심과 빠른 거래를 설계합니다. 가능한 경우-이벤트, 대기열 및 캐시로 전송합니다. 이 관찰 가능성, 지리 및 릴리스 규율에 추가하면 플랫폼은 SLO, P&L 및 플레이어 자신감을 손상시키지 않으면 서 피크를 견딜 수 있습니다.