PSP-X 대기 시간 및 손실
(섹션: 기술 및 인프라)
간략한 요약
Chaos Engineering은 생산을위한 과학적인 방법입니다. 안정성 가설을 공식화하고 환경을 제어 된 방식으로 방해하며 사용자 값 (SLO/비즈니스 메트릭) 이 유지됨을 증명합니다. iGaming의 경우, 이는 라이브 사용자에게 발생하기 전에 결제 점검 (PSP), 게임 초기화, 리드 큐, 다중 지역 및 피크로드입니다.
1) 혼돈 공학의 원리
1. 가설에 대한 꾸준한 상태. 요율 저하: 가용성, p95/p99, TTW, 지불 변환.
2. 작은 폭발 반경. 스테이징/카나리아, 1-5% 트래픽/1-2 poda/하나의 지역에서 먼저 실험.
3. 관찰 우선. 메트릭/로그/트레일 + 실험 주석.
4. Guardrails에서 중단합니다. 자동 종료를위한 하드 SLO/비즈니스 KPI 임계 값.
5. 반복성 및 자동화. 코드 (IaC/GitOps), 게임 데이 플랜 실험.
6. 무자비한 문화. 실험은 비난을 찾는 것이 아니라 약점을 찾는 것입니다.
2) 정상 상태 및 성공 지표
TexSLI: p95/p99 API, 오류율, 채도 (CPU/IO), 대기열 지연 (인출/예금), 대기 시간 제공 업체.
비즈니스 SLI: '시도 → 성공', TTW p95, '게임 초기' 의 성공, 코드 별 PSP 실패의 공유.
3) 실험 클래스 ("중단")
네트워크: 대기 시간/지터/패킷 손실/블랙홀, DNA 오류, MTU 이상.
자세한 내용은 CPU 스로틀, 메모리 압력/OOM, 디스크 IOPS/공간, 파일 설명자 소진.
프로세스 및 사이트: 포드 킬/퇴거, 노드 고장, 영역/지역 고장.
의존성: PSP 타임 아웃/오류, 사용할 수없는 게임 제공 업체, CNC/캐시 저하.
대기열/스트리밍: Kafka 지연 성장, 소비자 일시 정지, 파티/리더 격차.
데이터/DB: 복제 지연, 인덱스 저하, 읽기 전용 모드.
릴리스/변형: 마이그레이션 누락, 잘못된 구성 요소, 킬 스위치.
Front/RUM: LCP/INP 하락, 고객이 피크에서 충돌합니다.
데이터/ML: 노화 기능, 대기 시간 모델 증가, 토큰/초 감소, 품질 저하.
4) 프로세스: 가설에서 개선까지
1. 가설 (특정 SLO/비즈니스 KPI + 예상 보호 동작) 을 공식화하십시오.
2. 실험 유형: 고장, 지속 시간, 폭발 반경, 가드 레일/중단.
3. 관찰 가능성 준비: 대시 보드, 주석 비교 릴리스/실험.
4. IM/TL 제어하에 실행하고 통화 중/비즈니스에 알리십시오 (영향을받는 경우).
5. 측정 결과: SLO, p95/p99, TTW, 변환, 지연, 배송.
6. 양식 동작 항목: 한계, 타임 아웃, 지터가있는 배상, 특이 치 배출, PDB/HPA/KEDA, 풀백 흐름.
7. 자동화 (게임 데이 reg 패키지/CI 인프라 점검 포함).
5) 가드 레일 및 정지 기준
다음과 같은 경우 즉시 중
SLO 빠른 화상 활성화 (예: 시간당 14 × 예산),
결제 변환기가 0보다 많습니다. 오후 3시,
TTW p95> 10-15 분 연속 3 분,
오류율> 1. 5% 성장하고 두 개의 창문에서 자랍니다.
통신: 사전 승인 된 채널/상태 템플릿, ChatOps의 "빨간색 버튼" ('/실험 중단 ').
6) 실험적인 예 (Kubernetes/cloud)
6. PSP로 1 네트워크 지연 (카나리아 우울증)
목적: 배상/타임 아웃/라우팅을 확인합니다.
주입: 'payment-api' → 'pspX' 에 대해서만 + 200ms RTT 및 3% 패킷 손실.
yaml apiVersion: chaos/v1 kind: NetworkChaos metadata: { name: psp-latency-canary }
spec:
selector: { labelSelectors: { app: payments-api, track: canary } }
direction: to target:
selector: { namespace: prod, ipBlocks: ["10. 23. 0. 0/16"]} # addresses pspX egress action: delay delay:
latency: "200ms"
jitter: "50ms"
correlation: "0. 5"
loss:
loss: "3"
correlation: "0. 3"
duration: "10m"
mode: one # minimum blast radius
예상: p95 '/deposition '<250 ms, 오류율 <1%, 변환 3 pp; 열화되면 PSP 경로 자동 스위치.
6. 2 노드 및 PDB 실패
목적: PDB/항 친 화성/HPA를 확인하십시오.
주입: 'games-api' 포드로 하나의 노드를 배출/종료합니다.
대기: 가용성 손실 없음, 피크 p99는 SLO를 넘어서지 않으며, 오토 스케일러는 신호를 얻습니다. PDB는 "이중 whammy" 를 방지합니다.
6. 3 카프카 지연 온라인 KEDA
목적: 메시지를 누적 할 때 안정적인 자금 인출.
주입: 소비자를 5-10 분 동안 얼린 다음 켜십시오.
대기: KEDA는 작업자를 확장하고 TTW p95는 재 흡수 후에도 3 분 정도 유지되며 복제본이 없습니다 (demempotence, key).
6. 4 게임 제공 업체 DNA 결함
목적: 폴백/캐싱/리트레이.
인젝션: 도메인 'providerA에 대한 NXwitcher/타임 아웃. 예 '.
대기: UI-열화 모드 및 상태 배너에서 'providerB' 의 빠른 폴백; '게임 초기 성공' 5%.
6. 5 읽기 전용 DB
목적: 손실 행동을 쓰십시오.
주입: 큐를 10-15 분 동안 읽기 전용으로 전환하십시오.
대기: 코드가 올바르게 처리되고 중요한 경로가 제한되며 대기열에 요청이 표시되며 손실/이중 기록이 없습니다.
7) 자동화 및 GitOps
코드로서의 실험: Git에 스크립트/매개 변수/가드 레일을 저장하고 PR을 통해 검토하십시오.
게임 데이 계획: 일정, 소유자, 지표, 중단 조건, 통신 점검표.
Grafana의 주석: 실험의 시작/끝, 설정, 최종 SLO.
8) 혼돈 중 관찰 가능
예를 들어 p95/p99에서 특정 'trace _ id' 까지.
실험 _ id '실험 _ id', '오류 _ 유형', '재 시도 _ 시도', '저하 _ mode = 참'.
추적: 외부 호출이 '오류' 로 표시됩니다. 주입 = 참 ', 레트라/타임 아웃이 표시됩니다.
대시 보드: "SLO- 카드", 릴리스/실험 비교, 지불/게임 초기/대기열.
9) iGaming의 세부 사항: 먼저 확인해야 할 사항
1. 지불 및 TTW: PSP 타임 아웃, 경로 폴백, demotency.
2. 게임 초기화: 스튜디오의 접근성/느림, CDN의 실패.
3. 납/보너스 대기열: 지연 성장, 재 처리.
4. 다중 영역: 영역 장애/POP, 리더 변경, 데이터베이스 복제.
5. 봉우리: 자동 스케일, 속도 제한, 회로 차단기, 워밍업 캐시.
6. RG/규정 준수: 원격 측정에서 PII가없는 경우 올바른 로깅입니다.
10) 거버넌스
일정 및 창: 피크 토너먼트 이외의 실험, 비즈니스와의 조정.
가수: 실험 책임자, 관찰자 (SRE), 비즈니스 담당자; 핫라인에 IM.
데이터 정책: 아티팩트에 PII 없음; 감사를위한 WORM 상점.
법적 경계: SLA를 위반하지 않고 동의하는 시나리오.
11) 게임 데이: 스크립트 템플릿
12) 전형적인 발견과 행동
너무 공격적인 배상 → 폭풍 요청 → 타임 아웃/지터/제한을 추가하십시오.
특이 치 배출 → 독 인스턴스가 p99 → 컬링을 가능하게하지 않습니다.
단편적인 마이그레이션 → 읽기 전용은 → 확장 → 마이그레이션 → 계약 + 피체 플라 그의 흐름을 깨뜨립니다.
잘못된 HPA 신호는 → 늦게 → 스케일을 RPS/lag 메트릭으로 전환합니다.
버전에 공통적 인 캐시 → 롤백은 데이터 → 버전 키를 망칩니다.
13) 카오스 연습 성숙 점검표
1. 정상 상태와 SLO가 설명되어 있으며 대시 보드가 준비되었습니다.
2. Git의 코드, 검토/감사 실험.
3. 가드 레일/중단 자동화 (Alertmanner/ChatOps).
4. 관찰 가능성: 예제, 추적/로그 상관 관계, 주석.
5. 분기 별 게임 시나리오에는 지불/게임/대기열/다중 지역이 포함됩니다.
6. 실험 후 행동 항목은 스프린트 계획의 일부입니다. 성능 모니터링.
7. 설정 repo의 재 트레이/타임 아웃/회로 차단기 임계 값 정책.
8. 보안/PII 정책이 시행되고 민감한 데이터가없는 아티팩트.
9. SLO (롤백/스케일/라우트) 에 의한 자동 치료는 혼돈을 테스트했습니다.
10. 프로세스 지표: 중단없이% 완료, 운동시 MTTR, 클래스 사고 감소.
14) 반 패턴
SLO/가드 레일/관찰 가능성없이 "제품의 모든 것을 깨기".
가설 및 측정 가능한 대상이없는 실험.
첫 발사시 큰 폭발 반경.
타임 아웃/지터 → 계단식 결함 허용이없는 배상.
예방 대신 혼돈: 증상을 치료하고 근본 원인을 무시하십시오.
운동 후 RCA/행동 항목 부재.
사업 승인없이 피크 시간 동안 실험.
요약
카오스 엔지니어링은 체계적인 탄력성 증명입니다. 실제 실패를 미리 재현하고 SLO 및 비즈니스 메트릭에 미치는 영향을 측정하며 배송 및 회로 차단기에서 다중 지역 오케스트레이션 및 자동 치료에 이르기까지 아키텍처를 강화합니다. 정기적 인 게임 데이 및 가드 레일 분야를 통해 iGaming 플랫폼은 가장 뜨거운시기에도 p95/p99, 변환 및 TTW를 유지합니다.