GH GambleHub

מתאמים מספקים

מתאם הספקים - שכבת אינטגרציה מבודדת (שכבת אנטי-שחיתות, ACL) המתרגמת חוזה ספקים חיצוני (ספק משחקים, שער תשלום, KYC/AML, ניקוד סיכונים, הודעות וכו ') לשפת תחום פנימית ולהיפך. הוא מגן על התחום מפני API לא יציב, חריגות רשת, התפתחויות סכמות, ומדיניות ביטחון.

מטרות מפתח:

1. אין מטען חיצוני ”גולמי” פוגע בליבה.

2. אמינות: ניהול כשלים (פסקי זמן, חזרות, DLQ, מפסק מעגל).

3. עקביות: אידמפוטנטיות, סדר מפתח, מסרים עסקיים.

4. ניתוח: מדדים, איתור, הגבלות, העברת בידוד ותושבות.

1) תחום אחריות מתאם

חוזים: תיאור של תרשימים חיצוניים/נקודות קצה; מיפוי פקודות פנימיות/אירועים.
תחבורה: REST/gRPC/WebSocket/SQS/Kafka/SFTP; בריכת חיבור, תרמיל גב.
אבטחה: mTLS, OAuth2, HMAC, מפתחות/תעודות לדייר/אזור, סיבוב סודות.
אמינות: פסקי זמן, מגשים מחדש עם ג 'יטר, מפסק חשמלי, שכפול.
Idempotency: "Idempotency-Key "/" Request _ id', אחסון תגובות/סטטוסים.
תצפית: מדדי SLO, יומנים מבניים, איתור.
Versioning: תמיכה בגרסאות מרובות של סכימות/נקודות קצה.
מבצעים: פישפלאגים, שחרור כנרית, ארגזי חול, אישור.

2) היכן שניתן ליישם (הקשרים לדוגמה)

משחק/RGS: התחלה/סגירת סיבוב, הימורים/ניצחונות, אסימונים הפעלה, סטטוסים מספקים.
תשלומים/PSP: הפקדות/משיכות, סטטוסים של קובצי אינטרנט, צ 'רג' בק, אבטחת תלת מימד.
אימות, סנקציה/בדיקת פופ, ניטור עסקאות.
סיכון/הונאה: ניקוד, טריגרים, חסימת המלצות.
תקשורת: דואר אלקטרוני/SMS/push, מגבלות דיוור, תבניות.

לכל סוג יש מכונת מצב אירוע משלו ו-SLA - המתאם מחויב לנרמל אותו.

3) חוזה ומיפוי (פנימי ↔ חיצוני)

עקרונות:
  • אנו נכנסים לשפת הוצאה לאור בתוך המתאם ולעולם לא לגרור את שדות הספק החוצה.
  • כל ההודעות נושאות את ”terant _ id',” region ”,” special _ id', ”operation _ id',” version _ ts'.
  • אנחנו תומכים בכמה גרסאות של תוכניות חיצוניות באמצעות מאפרים.
yaml mapping:
provider: "AcmeRGS"
version: "v3"
inbound:
SpinResultV3 -> Round. Resulted
BonusWinV3  -> Bonus. Wagered outbound:
StartRound  -> POST /v3/sessions/{id}/start
Stake    -> POST /v3/spins compat:
accepts: ["v2","v3"]
emits:  ["v3"]

4) אידמפוטנטיות וסדר

בקשה דה-דאפ: 'Idempotency-Key: <operation_id>' בבקשות; (op_id status/response) 'עם TTL.
Webhook de-dup: table 'inbox (ספק, event_id) "כמו PK.
סדר לפי מפתח: שיחות סריאליות ועיבוד על ידי "aggregate _ id' (לדוגמה," סיבוב _ id' או "psp _ tx _ id').
היוצא/אינבוקס: הודעות עסקיות בשני קצוות הצינור.

5) אמינות: פסקי זמן, נסיגות, מפסק חשמלי

פסקי זמן: צד לקוח קצר (p95-מכוון), נפרד עבור חיבור/קריאה.
מגשים מחדש: ניתן לניסוי מחדש בלבד (5xx/timeout/429), גיבוי מעריכי + jitter מלא, מגבלת ניסיון ומועד סופי.
מפסק מעגל: פתוח כאשר שגיאות/איחור גדלות; השפלה חיננית (למשל, ביטול מאפייני RGS משניים, שנקבעו ”לחכות לתוצאה”).
DLQ: ”רעיל” הודעות עם meta-information עשיר, redrave בטוח.

yaml reliability:
timeout_ms:
connect: 1000 read:  1500 retry:
max_attempts: 6 initial_backoff_ms: 200 max_backoff_ms: 8000 jitter: full retry_on: [TIMEOUT, 5xx, 429]
circuit_breaker:
failure_rate_threshold: 20%   # за окно slow_call_threshold_ms: 1500 half_open_max_calls: 10

6 מגבלות דירוג, מכסות, תחרותיות

התבונן בהגבלות הספק (RPS, פרץ, קונקורנסי).
יישום לכל דייר WFQ/DR (הגינות) כדי שהלקוח ”הרועש” לא יאכל את התקציב.
כבד את כותרות ”Retry-After ”/” X-Exteit Limit-”.
תורים פנימיים + תרמיל גב על המוצר.

7) בטיחות וציות

תחבורה: mTLS, TLS 1. 2 +, סוויטות צופן נוכחיות, הצמדת תעודות במידת האפשר.
אימות: OAuth2 אישורים ללקוח/MTLS, HMAC (גושי גוף חתומים + חותמת זמן), מפתחות API.
מזעור PII: רק שדות נדרשים; מיסוך/עריכה ביומנים ו DLQ.
סודות: KMS/HashiCorp כספת, סיבוב אוטומטי, בידוד לדייר/אזור.
ציות: PCI DSS עבור PSP, אחסון אסימונים במקום PAN, GDPR/local data law.

8) רב-דייר ורב-אזורי

הגדרות של מפתחות/נקודות קצה לדייר/אזור.
תושבות נתונים: שיחות נעשות מאזור ”הבית”; חוצה-אזור - אגרגטים בלבד.
בידוד: בריכות חיבור וגבולות לדייר.

yaml tenants:
T1:
region: eu-central provider_keys:
acme_rgs: { client_id: "...", cert_ref: "vault://..." }
psp_foo: { hmac_key_ref: "kms://..." }
endpoints:
acme_rgs: "https://eu. api. acme-rgs. com"
psp_foo: "https://eu. api. psp-foo. com"
T2:
region: sa-east
...

9) יכולת תצפית: מדדים, יומנים, איתור

מדדים:
  • הצלחות/שגיאות לפי קלאס (2xx/4xx/5xx/timeout/429).
  • p50/p95/p99 בשיטה.
  • הגבלת קצב, פתיחה/סגירת מפסק, דרגה DLQ, רדרייב-הצלחה.
  • יומנים מבניים: "terant _ id'," despect _ id', "operation _ id'," endpoint', "status", "trance", "backoff _ ms'.
  • עקבות: "trace _ id', spans serialize" seriale # send # send # send "publish," tages 'schema _ version "," region ".

10) וריאציות ופישפלאגים

תמיכה v1/v2 של החוזה החיצוני במקביל; נדידה - קנרית/על ידי דיירים.
כל מאפיין ספקי חדש עומד מאחורי הדגל; החלפה ללא שחרור.
חוזה אבולוציה: תוסף ראשון, אימות קפדני של מזימות (JSON Schema/Proto).

11) ספרי משחק (ספרי הפעלה)

1. סוואל 429/גבולות: להפעיל חנק גלובלי, לכבד ”Retry-After”, חלונות לחלק מחדש בין הדיירים.

2. צמיחת זמן: הפחתת זמנים, הגדלת פסקי זמן בזהירות, שובר פתוח,

3. סכימה לא מתאמת: להקפיא מחדש, לאפשר התאמה של מאפר, הילוך אחורי/עיבוד חוזר.
4. Webhook Flap: לעבור למצב משיכה/השלמה, ליישם inbox dedup.
5. תקרית בספק: החלף לארגז חול/גיבוי DC (אם בכלל), הפעל פעולות ”דחויות”.

12) בדיקה

מבחני חוזה: יצרן/צרכן כנגד תיקוני ספק קבועים.
בדיקות כאוס: עיכובים, טיפות, מחוץ לסדר, כפילויות, תגובה חלקית, ניתוק.
ביצועים: מתח על קוצים; מדידה 95/p99, התנהגות מפסק.
Idempotency: חזרה על אותו "פעולה _ id' לא יוצרת אפקטים נוספים.
ארגז חול E2E: happy-path/chargback/control/ביטול/recalc scripts.

13) דפוסי פריסה

מתאם שירות נפרד: + בידוד, שחרור עצמאי;

Sidecar/plugin: + locality of calls; קשה יותר לנהל גרסאות.
ספרייה: + קל להטבעה, צימוד גבוה וגרסאות מוטוריות.

המלצה: מתאם שירות עם API ברור ומעגל השחרור שלו.

14) מתאם API דוגמה (פסאודו)

http
POST /adapters/psp/authorize
Headers:
X-Tenant: T1
Idempotency-Key: op-uuid
Body:
{ "amount":"10. 00","currency":"EUR","method":"card","card_token":"tok_..." }

→ 202 Accepted
{
"operation_id":"op-uuid",
"status":"PENDING",
"as_of":"2025-10-31T12:00:00Z"
}
product webhook # idepter # irnel:
  • Webhook עם "despective _ event _ id" "ac" "inbox" (PK on '(provider,event_id) ".

15) שגיאות אופייניות

מושך מעגל חיצוני ”נא” לתוך תחום = קישוריות הדוקה ונדידה יקרה.
חוסר אידמפוטנטיות ותיבת דואר אלקטרוני/תיבת דואר אלקטרוני * שכפול אפקטים ומצבי פנטום.
Retrai ללא jitter/limits = סערה = = ואיסור על הגבלת קצב.
הבריכה הגלובלית היחידה ללא הגינות * דייר אחד ”שם” את כולם.
יומנים ללא תיקוני PII/= מזהים לא ניתן לחקור תקריות וסיכון ציות.
אין קנריות/דגלים כפול השחרור שובר את כולם בבת אחת.
מתעלם 'Retry-After' ולוחות זמנים תחזוקה ספק.

16) רשימת בדיקות לפני המכירה

[ ] מיפוי תרשימים חיצוניים * שפה פנימית; גרסאות ותאימות לאחור.
[ ] זהות של בקשות/קורות אינטרנט ("operation _ id'," inbox ").
[ ] פסקי זמן, מגשים מחדש עם עצבנות מלאה, מפסק חשמלי, DLQ ונסיעה מחדש בטוחה.
[ שיעור ] מגביל את ההגינות לדייר; 'כבוד ל - Retry-After'.
[ ] MTLS/OAuth/HMAC, סיבוב סודי, מזעור PII, ביקורת גישה.
[ ] בידוד אזורי ותושבות נתונים; הגדרות לכל דייר/אזור.
[ ] p95/p99 מדדים, שגיאת כיתה, breaker/429/DLQ-rate; איתור.
[ ] ארגזי חול ובדיקות חוזה; הקנריים מתגלגלים ופישפלאגים.
[ ] ספרי משחקים ואימונים תורניים.
[ תיעוד ]: סלאחים, גבולות, תוכניות, תהליכי אבולוציה.

סיכום

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

Contact

צרו קשר

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

Telegram
@Gamble_GC
התחלת אינטגרציה

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

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

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