GH GambleHub

샌드 박스 및 테스트 환경

1) 왜 선택된 윤곽이 필요합니까?

샌드 박스 및 테스트 환경을 통해 다음을 수행 할 수 있습니다

생산의 위험없이 가설과 통합을 신속하게 테스트합니다.

피드백주기 속도 향상 (PR → 미리보기 링크 몇 분 단위);

안전한 사본에서 오류와 사건을 재현합니다.

계약, 통합, 로드 및 혼돈 테스트 수행

"놀이터" 에서 팀을 훈련시키고 파트너를 장비합니다.

주요 원칙: 격리, 구성 패리티, 테스트 결정론, 데이터 보안, 기본 관찰 성.

2) 환경 계층 및 목적

로컬 (Dev) -로컬 개발: 도커 컴파일/테스트 컨테이너, 경량 공급 업체 시뮬레이터.
Sandbox는 가짜 데이터 및 실제 프로토콜을 갖춘 외부 통합 (PSP, KYC, 게임 애그리 게이터) 을 나타냅니다.
QA/테스트-통합 및 e2e 테스트, 안정적인 데이터 수정, 회귀.
Stage/Pre-Prod-생산에 가능한 한 개요 (구성/제한/토폴로지).
Ephemeral Preview - 환경 "PR" (시간/일 동안 수명), 오프라인 리소스 및 IM, 병합/종료 후 자동 철거.

패리티 규칙은 "테스트/단계에서 설정, 정책 및 인프라 종속성" 이며 차이점은 비밀과 한계에만 있습니다.

3) 샌드 박스 유형

1. 공급자 샌드 박스: 외부 PSP/KYC/게임은 테스트 엔드 포인트를 제공합니다. 희귀 및 잘못된 경우 (타임 아웃, 5xx, 불안정한 서명) 를 시뮬레이션하기 위해 시뮬레이터 계층을 추가합니다.
2. 기능성 샌드 박스: 도메인 서비스의 자율적 인 인스턴스 (지불, 보너스, 성과) + 수정.
3. 교육/데모 샌드 박스: DevPortal, 키, 할당량 및 요율 제한이있는 파트너를위한 API "쇼케이스".

4) 계약, 시뮬레이터 및 모키

계약 테스트 (Pact/Buf): 소비자/공급자는 체계에 동의합니다. CI에서 호환되지 않는 변경 사항이 차단됩니다.
공급자 시뮬레이터: 에지 케이스 재생 (더블 콜백, 클럭 드리프트, 만료 된 타임 스탬프가있는 HMAC 서명).
이벤트 수정 (Kafka/NATS): 사례 라이브러리 지불. 승인 된 ',' kyc. ',' 게임을 확인했습니다. 둥근. 정착 '.
결함 주입: 통제 된 지연, 낙하 률, 주문 외 메시지.

웹 후크 샌드 박스의 HMAC 서명 예:

X-Timestamp: 1730812800
X-Signature: sha256=hex(hmac_sha256(secret, body + timestamp))

5) 테스트 데이터, GDPR/PCI 및 익명화

실제 PII/PAN 오프 프로덕션을 사용하지 마십시오.
익명 화: 민감한 필드의 합성 생성 + 토큰 화; 데모 계정 만 사용합니다.
데이터 팩토리: 예측 가능한 ID 및 상태를 가진 사용자/거래/세션 팩토리.
결정 론적 씨앗: 시험 실행과 수요일 사이의 동일한 수정.
보존 정책: 미리보기 환경 및 테스트 데이터베이스의 자동 청소.

6) 비밀과 접근

수요일에 별도의 비밀; 임시 크레딧 및 제한된 역할.
KMS/HSM 및 회전; Git의 비밀은 제외되었습니다.
QA/무대를위한 RBAC/ABAC; 액세스 감사, 협상을 통해서만 브레이크 글래스.

7) 비 산업 환경에서의 관찰 가능성

로그 - 마스킹이있는 PII없이 구조화 됨;

메트릭 대기 시간 p50/p95/p99, 오류율, 처리량, DLQ, retrai;

추적 (OTel): 입력 요청에서 시뮬레이터로의 엔드 투 엔드 'trace _ id';

코드로 대시 보드-대시 보드 및 경고는 서비스 옆에 있습니다.

8) Ephemeral 미리보기 환경 (PR 당)

기본 동작:
  • PR → CI는 이미지를 수집하고 이주를 생성하며 Kubernetes에서 네임 스페이스 'pr- ' 를 제기합니다.
  • 테스트 사용자의 미리보기 탭 및 토큰이 발행됩니다.
  • 추적/메트릭 활성화; PR이 닫히면 환경이 삭제됩니다.
PR의 네임 스페이스에 대한 예:
yaml apiVersion: v1 kind: Namespace metadata:
name: pr-4821 labels:
env: preview owner: team-payments

9) 지역 개발: 컴파일/테스트 컨테이너

최소한의 '도커 작곡. 로컬로 실행할 yml ':
yaml version: "3. 9"
services:
api:
build:.
environment:
- DB_URL=postgres://postgres:postgres@db:5432/app? sslmode=disable
- KAFKA_BROKER=kafka:9092 ports: ["8080:8080"]
depends_on: [db, kafka]
db:
image: postgres:16 environment: [POSTGRES_PASSWORD=postgres]
ports: ["5432:5432"]
kafka:
image: bitnami/kafka:latest environment:
- KAFKA_ENABLE_KRAFT=yes
- KAFKA_CFG_PROCESS_ROLES=controller,broker
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@localhost:9093 ports: ["9092:9092"]

테스트에서 종속성을 자동으로 해제하려면-수정 된 테스트 컨테이너.

10) 부하 및 안정성 테스트

로드 프로필: "토너먼트", "지불 파", "질량 보풀".
KPI: RPS, p95/p99, 자원 제한 (CPU/메모리), TTFB, Time-to-Wallet.
혼돈 주사: 공급자의 단절, 대기 시간 증가, "벗겨진" 네트워크.
회로 차단기/백오프 정책은 스테이지에서 확인됩니다. 딥은 DLQ로 가서 복제합니다.

11) 롤백 및 재생 정책

DLQ (수동/자동 모드, 키별 필터) 이벤트의 게이트웨이를 다시 플레이하십시오.
마이그레이션 기반: 미리보기/스테이지에서 정리/다운 및 드라이 런; 파괴적인 변화로부터 보호.

12) DevPortal과의 통합

샌드 박스 및 공급자 카탈로그, 현장 요구 사항, 쿼리 예.
각 PR/브랜치에 대한 "미리보기" 버튼; SLO/SLA 메트릭 위젯.
계약에서 SDK 및 Postman/Insomnia 컬렉션 생성.

13) 샌드 박스 주변 보안

외부 샌드 박스에 대한 WAF + IP 허용리스트;

키당 할당량 및 요율 제한;

개별 도메인/서브 도메인; 비활성 키의 자동 제거;

각 빌드의 이미지 취약성 및 종속성 스캔.

14) 프로세스: 누가 사용하고 어떻게

개발자-로컬 및 미리보기, 빠른 피드백.
QA-관리되는 데이터 및 시뮬레이터가있는 안정적인 테스트/스테이지.
파트너-DevPortal이있는 외부 샌드 박스, 할당량 및 모니터링.
SRE/플랫폼-로드 프로파일, 혼돈, SLO 검증.

15) 샌드 박스 출시 점검표

  • 레지스트리 계약, 시뮬레이터는 성공/오류/타임 아웃/반복을 다룹니다.
  • 데이터 합성, 결정 론적, PII/PAN 없음을 테스트하십시오.
  • KMS의 비밀, 역할 제한, 감사 활성화.
  • 메트릭/트레일/로그를 사용할 수 있습니다. 오류 예산 및 DLQ에 경고합니다.
  • Ephemeral 미리보기는 PR에서 올라가고 자동 철거됩니다.
  • 로드 프로파일 및 혼돈 시나리오는 코드로 설명됩니다.
  • 무대에서 마이그레이션 정책 및 이벤트 재생이 확인되었습니다.
  • DevPortal은 가이드 및 쿼리 모음을 게시합니다.

16) 구현 로드맵

M0-M1 (MVP): 로컬 환경 (Compose), 기본 PSP/KYC 시뮬레이터, CI 계약 테스트, K8의 미리보기 공간.
M2-M3: 고정 카탈로그, 코드로서의 대시 보드, DLQ + 수동 재생, 로드 프로파일.
M4-M6: 키/쿼터, 혼돈 인프라, SDK autogen, "병렬" 마이그레이션 정책의 두 가지 버전이있는 본격적인 외부 샌드 박스.
M6 +: 장애가있는 지리 분산 무대, 테스트에서 SLA를 통한 공급자의 스마트 라우팅, DevPortal의 자동 교육 스크립트.

17) 환경 성숙 모델 (간략한)

1. 기본-테스트/스테이지, 수동 데이터, 약한 격리가 있습니다.
2. 고급 - 시뮬레이터, 계약 테스트, 관찰 가능성, 부분 미리보기.
3. 전문가-PR 당 환경, 코드로서의 혼돈/부하, DevPortal, 강력한 보안 및 완전 자동화.

간단한 결론

올바르게 설계된 샌드 박스 및 테스트 환경은 "에어백" 및 "가속기" 입니다. 격리, 프로덕션과의 패리티, 공급자 시뮬레이터, 결정 론적 테스트 데이터, 강력한 관찰 성 및 미리보기 환경의 자동화는 빠르고 안정적인 코드 → 확인 → 릴리스주기를 제공하여 회귀 위험을 줄이고 플랫폼 스케일링을 단순화합니다.

Contact

문의하기

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

통합 시작

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

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

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