GH GambleHub

샌드 박스 및 테스트 환경

TL; DR

견고한 샌드 박스 = 완전한 격리, 합성/비인간 데이터, 외부 시스템의 실제 시뮬레이터, 예측 가능한 측면 및 시간 이동, 내장 된 demempotency 및 웹 후크, 투명한 한계 및 메트릭스. 손이 닿지 않는 음식, 열쇠-파기, 승진-체크리스트에서만.


1) 환경지도 및 그 역할

환경목적액세스데이터신뢰성
로컬/데브빠른 개발엔지니어합성/최소 소설낮음
CI/테스트단위/통합/계약 테스트CI/CD오토 시드평균
무대/사전 제작최종 어셈블리, 회귀제한무의미한 스냅 샷높은
공개 샌드 박스외부 파트너/판매자게이트 + 제한합성 만평균
Prod싸움SSO/엄격한 액세스진짜최대한

규칙: 샌드 박스 실제 수단/게임/개인 데이터에 액세스하지 않고 일방 통행 시뮬레이터를 통한 모든 연결.


2) 데이터: 합성, 익명화, 앉기

기본 합성. 유효하지만 비재무 PAN (테스트 BIN) 인 여권/카드 데이터 생성기는 요금과 잔액의 실시간 패턴입니다.
단계에 대한 익명 화: 식별자의 토큰 화, 골재에 대한 차등 개인 정보 보호, 희귀 조합 제거.
체와 결정론: 하나의 팀-하나의 상태.

bash make db-reset && make db-seed ENV=sandbox SEED=2025_11_03

시간 여행: 마감일/만료 테스트를위한 환경의 전 세계 "시간".


3) 시뮬레이터 및 플러그 (스터브)

결제/은행/PSP

Auth/Capture/Refund/Payout 님을 참조하십시오.
PSP 웹 후크: HMAC 서명, retrai, 지연 및 "더러운 인터넷".

KYC/AML/제재

"clear ',' pep _ match ',' protect _ hit ',' doc _ missembly ',' manual _ review '.
prod에서와 같이 dempotency 및 속도 제한을 지원하십시오.

게임 제공자/카탈로그

로비, 기능, RTP/라운드-의사 랜덤 생성, UX 사례에 대한 "지불/실패" 제어.

옵션: 시뮬레이터 "심각도" 스위치 (행복 경로 대 혼돈).


4) 샌드 박스의 웹 후크

HMAC 서명 (v1), 헤더 'X-Event-ID', 'X-Timestamp', 창 5 분

지수 백오프, DLQ 및 재생으로 배상합니다.
콘솔 "재 실행" 및 시도 로그.

의사:
pseudo
POST /psp/webhooks
Headers: X-Signature, X-Timestamp, X-Event-Id
Body: { event_id, type, data, attempt }

5) 이념과 결정론

모든 돌연변이는 'Idempotency-Key' 를 받아들입니다.
시뮬레이터는 키 (TTL 24-72 h) 별로 결과를 저장합니다.
"종자 결정론": 동일한 입력-동일한 결과 (반복 가능한 테스트의 경우).


6) 보안 및 액세스

네트워크 격리/VPC, 개별 비밀 및 도메인 ('샌드 박스. 예. com ').
RBAC/ABAC: "파트너", "qa", "개발", 토큰의 물수리 역할은 최소화됩니다.
요율 제한 및 할당량: 임차인/키 당 공정 점유율, 이해할 수있는 '429 '/' Redu-After'.
KMS/Vault에서만 비밀; 규칙적인 회전.
코드/구성 수준 (기능 플래그 하드 블록) 에서 실제 결제 금지.


7) API 게이트웨이 및 샌드 박스의 관찰 가능성

동일한 정책: OAuth2/OIDC/JWT, CORS, WAF, DDoS 프로필.
측정 항목: p50/p95/p99, 4xx/5xx, 적중률 제한, 대기 시간 웹 후크, demotent 적중.
통나무/흔적: PII 없음; 상관 'trace _ id'.
대시 보드 "샌드 박스 건강": 가동 시간, 웹훅 대기열, 시뮬레이터 오류.


8) 기능 플래그, 버전 및 호환성

샌드 박스 → 스테이지 → prod의 기능 포함.
API를위한 SemVer; Swagger/Redoc 샌드 박스의 우울증/일몰 배너.
GraphQL 상점에 대한 지속적인 쿼리 (있는 경우).


9) CI/CD! 프로모션

1. 빌드/단위 →

2. 계약/모의 테스트 (OpenAPI/ProtoQL/GraphQL SDL) →

3. 통합 대 시뮬레이터 →

4. 무대 회귀 (항문. 스냅 샷) →

5. 카나리아 문자 prod.

게이트 체크리스트 프로모션: § 12의 아래.


10) 파트너를위한 UAT 스크립트 (샌드 박스)

결제: 웹 후크 및 PSP 오류가있는 지급/캡처/환불/지불.
KYC/AML: 모든 상태 + 수동 에스컬레이션.
Idempotency: 반복되는 'Idempotency-Key' → 동일한 결과.
속도 제한: '429' 의 올바른 처리.
시간 창: 토큰 만료, '재시도 후', 시간 여행 케이스.
웹 후크: 서명/retrays/DLQ, 수동 재생 및 디드 업.


11) 데이터 정책 및 개인 정보

실제 PAN/KYC 도크를 샌드 박스/스테이지에 저장하지 마십시오.
익명 화: 마스킹, 직접 식별자 제거, 합성 상관 관계.

로그 및 웹 후크 본체의 TTL 저장


12) 점검표

12. 1 새로운 샌드 박스 출시

  • 분리 된 네트워크/기본/캐시/개체 저장소
  • KMS/Vault에서 생성 된 비밀, 역할 별 액세스
  • PSP/KYC/게임 시뮬레이터의 철자 및 버전
  • Swagger/Redoc + Postman 컬렉션 (샌드 박스 엔드 포인트)
  • 웹 후크: HMAC, 재 시도, DLQ, 재생 콘솔
  • 속도/쿼터 프로필, 우울증/일몰 배너 (있는 경우)
  • 대시 보드 및 경고 (대기 시간, 5xx, 429, DLQ)

12. 2 프로모션 릴리스 (단계 → prod)

  • 계약 diff 확인 (중단 없음)
  • 단계에서 정상 p95/p99로드
  • 웹 후크는 UAT, demempotency ok를 겪었습니다
  • 기능 플래그가 준비되고 롤백 계획이 있습니다
  • Changelog, 마이그레이션 가이드 및 파트너에게 우편

13) 안티 패턴

"비밀리에" prod 서비스/데이터베이스에 닿는 샌드 박스.
무대/샌드 박스의 실제 카드/여권 데이터.
웹 후크/후퇴가없는 시뮬레이터는 "행복한 길" 입니다.
dempotence → 중복 지불/베팅 없음.
모든 파트너를위한 하나의 일반적인 HMAC 비밀.
제한이 없거나 투명한 429/Redict-After가 없습니다.


14) 미니 스 니펫

.env. 샌드 박스 (예)

dotenv
API_BASE=https://sandbox.api.example.com
OAUTH_ISS=https://sandbox.idp.example.com
PSP_SIM_URL=https://sandbox.psp-sim.example.com
KYC_SIM_URL=https://sandbox.kyc-sim.example.com
WEBHOOK_SECRET_ROTATION_DAYS=90
FEATURE_FORCE_SANDBOX_PAYMENTS=1

OpenAPI 조각 (샌드 박스 서버)

yaml servers:
- url: https://sandbox.api.example.com/v1 description: Public Sandbox

이데올로기 유사 코드

pseudo if store.exists(idem_key): return store.get(idem_key)
res = do_business()
store.set(idem_key, res, ttl=72h)
return res

PSP 시뮬레이터 트리거

json
{ "scenario": "payout", "case": "declined_insufficient", "payout_id": "p_123" }

15) 샌드 박스 관측 및 SLO

가동 시간 샌드 박스 API는 99입니다. 5% (통합 쇼케이스는 떨어지지 않아야 함).
정상적인 하중에서 웹 후크 p95 × 3 ~ 2xx.
게이트웨이의 예산 5xx 오류 1%.
도킹 포털을 사용할 수 있으며 계약과 동기화됩니다.


16) 거버넌스

환경 소유자 (SRE/플랫폼) 및 청지기 API (계약).
변경 사항을 해제하기위한 LF 프로세스, Deprencation/Sunset 캘린더.
공용 샌드 박스에 대한 별도의 제한/할당량 및 "공정 사용" 가격.


요약 다시 시작

샌드 박스는 "기본 사본" 이 아닌 개발자를위한 제품입니다. "제공: 엄격한 격리, 합성 데이터, 웹 후크 및 레트라가있는 본격적인 시뮬레이터, 측면 및 시간 이동을 통한 결정론, 플래그 및 투명한 한계가 있습니다. 계약, 관찰 가능성 및 거버넌스로 모든 것을 연결하면 통합이 빠르고 안전하며 예측 가능해지고 통증이 없어집니다.

Contact

문의하기

질문이나 지원이 필요하시면 언제든지 연락하십시오.우리는 항상 도울 준비가 되어 있습니다!

통합 시작

Email — 필수. Telegram 또는 WhatsApp — 선택 사항.

이름 선택 사항
Email 선택 사항
제목 선택 사항
메시지 선택 사항
Telegram 선택 사항
@
Telegram을 입력하시면 Email과 함께 Telegram에서도 답변드립니다.
WhatsApp 선택 사항
형식: +국가 코드 + 번호 (예: +82XXXXXXXXX).

버튼을 클릭하면 데이터 처리에 동의하는 것으로 간주됩니다.