GH GambleHub

ארגזי חול וסביבות בדיקה

1) מדוע אנו זקוקים לתורים נבחרים

ארגזי חול וסביבות בדיקה מאפשרים לך:
  • בחן במהירות היפותזות ואינטגרציות מבלי להסתכן בייצור;
  • להאיץ את מחזור המשוב (PR # קישור תצוגה בדקות);
  • לשחזר שגיאות ותקריות בעותק מאובטח;
  • ביצוע חוזה, אינטגרציה, עומס, ובדיקות כאוס
  • לאמן צוותים ולצייד שותפים ב ”מגרש המשחקים”.

עקרונות מפתח: בידוד, התאמת הגדרות, דטרמיניזם מבחן, אבטחת נתונים, תצפית ברירת מחדל.

2) היררכיה של סביבות ומטרתן

פיתוח מקומי: Docker Compose/Testcontainers, סימולטורים מספקים קלים משקל.
ארגז חול (באנגלית: Sandbox) הוא כינוי לאינטגרציה חיצונית (PSP, KYC, game aggregators) עם נתונים מזויפים ופרוטוקולים אמיתיים.
QA/Test - בדיקות אינטגרציה ו ־ e2e, תיקוני נתונים יציבים, רגרסיות.
שלב/קדם-פרוד - קו המתאר קרוב ככל האפשר לייצור (קונפיגורציות/מגבלות/טופולוגיה).
Effemeral Preview - סביבה ”ביחסי ציבור” (חי שעות/ימים), משאבים לא מקוונים ו-URL, הריסה אוטומטית לאחר מיזוג/סגירה.

כלל הזוגיות הוא ”הגדרות, מדיניות ותלות בתשתיות ב-Test/Stage Prod”, ההבדלים הם רק בסודות ובגבולות.

3) סוגי ארגז חול

1. ארגזי חול מספקים: PSP/KYC/games חיצוניים מספקים נקודות קצה מבחנים; אנו מוסיפים שכבה של סימולטורים כדי לדמות מקרים נדירים ושגויים (פסקי זמן, 5xx, חתימות לא יציבות).
2. ארגזי חול פונקציונליים: מקרים אוטונומיים של שירותי דומיין (תשלומים, בונוסים, הישגים) + תיקונים.
3. הדגמה/ארגזי חול: API ”תצוגה” לשותפים עם DevPortal, מפתחות, מכסות והגבלת קצב.

4) חוזים, סימולטורים ומוקי

בדיקת חוזה (Pact/Buf): צרכן/ספק מסכים על תוכניות; שינויים בלתי תואמים חסומים במודיע.
סימולטורים מספקים: Fay end cass (קולבקים כפולים, סחף שעון, חתימת HMAC עם חותמת זמן פגה).
תיקוני אירועים (קפקא/נאטס): תשלום Case Library '. מורשה ", קיק. מאומת, 'משחק. עגול. התיישבו ".
הזרקת אשמה: עיכובים מבוקרים, קצב ירידה, הודעות מחוץ לסדר.

דוגמה לחתימת HMAC בארגז חול של חוברות אינטרנט:

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

5) נתוני בדיקה, GDPR/PCI ואנונימיות

לעולם אל תשתמש ב-PII/PAN אמיתי מחוץ לייצור.
אנונימיות: סינתטיקה דור + טוקניזציה של שדות רגישים; מלבין לחשבונות דמו בלבד.
מפעלי נתונים: מפעלי משתמש/עסקה/הפעלה עם תעודות זהות ומדדים צפויים.
זרעים דטרמיניסטיים, תיקונים זהים בין ריצות מבחן וימי רביעי.
מדיניות שמירה: ניקוי אוטומטי של סביבות תצוגה מקדימה ובסיסי נתונים.

6) סודות וגישה

סודות נפרדים בימי רביעי; נקודות זכות זמניות ותפקידים מוגבלים.
KMS/HSM וסיבובים; לא נכללו סודות בגיט.
RBAC/ABAC עבור QA/Stage; ביקורת גישה, זכוכית פריצה רק דרך משא ומתן.

7) יכולת תצפית בסביבה לא תעשייתית

יומנים - מובנים, ללא מח "ש, עם מיסוך;

Metrics latency p50/p95/p99, שגיאה-קצב, תפוקה, DLQ, retrai;

איתור (Otel): trace 'to-end' trace _ id' מתוך בקשת הקלט לסימולטור;

לוחות מחוונים כקוד - לוחות מחוונים והתראות מופנים לצד השירות.

8) סביבות תצוגה מקדימה חלופית (פר-יחסי ציבור)

התנהגות ברירת מחדל:
  • PR * CI אוסף תמונה, יוצר נדידות, מעלה את השם 'pr- ' בקוברנטס;
  • כתובות ואסימונים של משתמשי הניסוי מונפקים;
  • איפשר התחקות/מטריות; כאשר יחסי הציבור סגורים, הסביבה נמחקת.
רשימת שמות לדוגמה ביחסי ציבור:
yaml apiVersion: v1 kind: Namespace metadata:
name: pr-4821 labels:
env: preview owner: team-payments

9) התפתחות מקומית: Compose/Testcontainers

קומפוזיציה דוקר מינימלית. לרוץ באופן מקומי:
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/Memory), TTFB, Time-to-Wallet.
זריקות כאוס: ניתוקים של ספקים, עלייה באיחור, רשתות ”רעפניות”.
מדיניות מפסק/גיבוי נבדקת על הבמה; מטבלים הולכים לדי-אל-קיו ומשכפלים.

11) Rollback וחוזר על מדיניות

הפעל מחדש את השער לאירועים מ ־ DLQ (מצבים ידניים/אוטומטיים, מסננים באמצעות מפתחות).
בסיסי נדידה: לפנות כלפי מעלה/מטה ולהפעיל יבש בתצוגה מקדימה/במה; הגנה מפני שינויים מפריעים.

12) אינטגרציה עם DevPortal

קטלוג של ארגזי חול וספקים, דרישות שטח, דוגמאות לשאילתות.
כפתור ”תצוגה מקדימה פתוחה” עבור כל יחסי ציבור/סניף; ווידג 'ט מדטי SLO/SLA.
דור של SDK ו Postman/Insomnia אוספים מחוזים.

13) אבטחה היקפית של ארגז חול

WAF + IP-Allowlist עבור ארגזי חול חיצוניים;

מכסות ומגבלות קצב למפתח;

תחום/תת-תחום; הסרה אוטומטית של מפתחות לא פעילים;

סריקה של פגיעות תמונה ותלות בכל מבנה.

14) תהליכים: מי משתמש וכיצד

מפתחים - באופן מקומי ותצוגה מקדימה, משוב מהיר.
QA - בדיקה/שלב יציב עם נתונים וסימולטורים מנוהלים.
שותפים - ארגז חול חיצוני עם DevPortal, מכסות וניטור.
SRE/פלטפורמה - טעינת פרופילים, כאוס, אימות SLO.

15) רשימת שיגור ארגז חול

[ חוזים ] ברישום, סימולטורים מכסים הצלחה/שגיאות/פסקי זמן/חזרות.
[ בדיקת ] סינתטי נתונים, דטרמיניסטי, אין PII/PAN.
[ ] סודות מ- KMS, תפקידים מוגבלים, ביקורת מופעלת.
[ ] מטריצות/שבילים/רישומים זמינים; התראות לתקציב שגיאות ו-DLQ.
[ ] המקדימים עולים ביחסי ציבור ונהרסים אוטומטית.
[ ] פרופילים ותרחישי כאוס מתוארים על ידי קוד.
[ מדיניות ההגירה ] והאירוע החוזר נבדקו על הבמה.
[ ] DevPortal מפרסם מדריכים ואוספי שאילתות.

16) מימוש מפת דרכים

M0-M1 (MVP): סביבות מקומיות (Compose), סימולטור PSP/KYC בסיסי, בדיקות חוזה ב CI, מרחבי תצוגה מקדימה ב- K8s.
M2-M3: קטלוגים קבועים, לוחות מחוונים כקוד, DLQ + שידור חוזר ידני, פרופילים טעינה.
M4-M6: ארגז חול חיצוני מלא עם מפתחות/מכסות, תשתית כאוס, אוטוגן SDK, ”שתי גרסאות במדיניות הגירה מקבילה”.
M6 +: שלב גיאו-מבוזר עם כשל, ניתוב חכם של ספקים באמצעות SLA במבחנים, תסריטי אימון אוטומטיים ב-DevPortal.

17) מודל בגרות סביבתי (קצר)

1. בסיסי - יש מבחן/במה, מידע ידני, בידוד חלש.
2. סימולטורים מתקדמים, בדיקות חוזה, תצפית, תצוגה מקדימה חלקית.
3. סביבות לכל יחסי ציבור, כאוס/עומס כקוד, DevPortal, ביטחון חזק ואוטומציה מלאה.

מסקנה קצרה

ארגזי חול וסביבות בדיקה מעוצבות כראוי הם ”כרית אוויר” ו ”מאיץ” של משלוח. בידוד, זוגיות עם ייצור, סימולטורים מספקים, נתוני בדיקה דטרמיניסטיים, יכולת תצפית חזקה ואוטומציה של סביבות תצוגה מקדימה מספקים קוד מהיר ואמין.

Contact

צרו קשר

פנו אלינו בכל שאלה או צורך בתמיכה.אנחנו תמיד כאן כדי לעזור.

התחלת אינטגרציה

Email הוא חובה. Telegram או WhatsApp — אופציונליים.

השם שלכם לא חובה
Email לא חובה
נושא לא חובה
הודעה לא חובה
Telegram לא חובה
@
אם תציינו Telegram — נענה גם שם, בנוסף ל-Email.
WhatsApp לא חובה
פורמט: קידומת מדינה ומספר (לדוגמה, +972XXXXXXXXX).

בלחיצה על הכפתור אתם מסכימים לעיבוד הנתונים שלכם.