WinUpGo
खोज
CASWINO
SKYSLOTS
BRAMA
TETHERPAY
777 FREE SPINS + 300%
क्रिप्टोक्यूरेंसी कैसीनो क्रिप्टो कैसीनो टॉरेंट गियर आपकी सर्व-उद्देश्य धार खोज है! धार गियर

IGaming में REST, gRPC और वेबहूक: पैटर्न और एंटी-पैटर्न

पूरा लेख

💡 18+. IGaming उत्पाद और इंजीनियरिंग टीमों के लिए तकनीकी सामग्री। खेलने के लिए कॉल नहीं। "प्लेटफॉर्म" से हमारा मतलब है पीएएम/वॉलेट/कैश रजिस्टर/बोनस/आरजी। "प्रदाता" - आरजीएस/लाइव/जैकपॉट/एग्रीगेटर।

1) प्रोटोकॉल मानचित्र: जो क्या के लिए जिम्मेदार है

REST - HTTP/JSON पर सार्वभौमिक तुल्यकालिक अनुरोध। पारदर्शी कैश, सरल डिबगिंग, बी 2 बी एकीकरण और व्यवस्थापक एपीआई के लिए सुविधाजनक।

gRPC - उच्च-प्रदर्शन बाइनरी RPC HTTP/2 से अधिक: कम विलंबता, धाराएं, हार्ड सर्किट। गर्म धन पथ (बटुआ/निपटान), आंतरिक सेवाओं और लंबे समय तक रहने वाली धाराओं (लाइव) के लिए अच्छा है।

वेबहुक प्राप्तकर्ता से प्रेषक तक कॉलबैक हैं। घटनाओं के लिए उपयोग किया जाता है ("पैसा गिर गया", "सीमा ने काम किया"), जहां सर्जक हमेशा वह नहीं होता है जो परिणाम की प्रतीक्षा कर रहा है।

स्वर्ण नियम:
  • पैसा हार्ड इनवेरिएंट्स और पहचान के साथ सिंक्रोनस आरपीसी (आरईएस/जीआरपीसी) पर जाता है। टेलीमेट्री और व्यावसायिक कार्यक्रम - अतुल्यकालिक (वेबहूक + इवेंट बस)।

2) विशिष्ट रास्ते और अनुशंसित चैनल

रास्तायह अनुशंसित हैकिस कारण से
'bets। अधिकृत करें '(पकड़)gRPC (आंतरिक )/REST (B2B)न्यूनतम विलंबता, सख्त SLAs
'bets। '→' बटुआ का निपटान करें। क्रेडिट 'जीआरपीसी तुल्यकालिक + घटना बस मेंपैसा = ACID; घटनाएं = अवलोकन
'कैशियर। जमा/निकासी 'REST + idempotencyपीएसपी के साथ एकीकरण, ट्रेसिंग
'आरजी चेक/स्टॉप'gRPC/REST तुल्यकालितब्रेक लाइट तुरंत बंद हो जानी चाहिए
'बोनस। मुद्दा/उपभोग 'REST तुल्यकालिकव्यापार तर्क, मध्यम SLAs
'जैकपॉट। ट्रिगर/भुगतान 'gRPC/REST + घटनाधन अनुबंध + लेखा परीक्षा
टेलीमेट्री, एनालिटिक्स, अलर्टवेबहूक + बस (काफ्का/पल्सर)स्थिरता और पैमाने
लाइव स्थिति/निर्देशिकाजीआरपीसी स्ट्रीमिंग/सर्वर-प्रेषित घटनाचुनाव और लैग्स को कम करना

3) अनुबंध-उन्मुख डिजाइन

3. 1 REST (टुकड़े)


POST/v1/दांव/अधिकृत
हेडर: X-Idempotency-Key: bet_r_8c12_1, X-Trace-Id: tr_a1b2
{
"session_id":"s_456," "bet_id":"b_001," round_id":"r_8c12, "" राशि ": {" राशि ": 2। 00, "मुद्रा":" EUR"}
}
→ 200 {"स्थिति ": "अधिकृत"," hold _ id":" h _ zz1"}
त्रुटियाँ (एकल स्कीमा):

409
{"कोड ": "DUPLICATE"," संदेश":" बेट पहले से ही अधिकृत ", "रिट्रीबल ": गलत," ट्रेस _ आईडी":" tr _ a1b2"}

3. 2 जीआरपीसी (प्रोटोबुफ, सरलीकृत)

प्रोटो सिंटैक्स = "प्रोटो 3";
पैकेज बटुआ। v1;

संदेश धन {int64 minor_units = 1; स्ट्रिंग मुद्रा = 2; }//सेंट संदेश लेखकीबेट्रेक {string session_id=1; स्ट्रिंग bet_id=2; स्ट्रिंग round_id=3; मुद्रा राशि = 4; स्ट्रिंग idempotency_key=5;}
संदेश प्राधिकरण {string स्थिति = 1; स्ट्रिंग hold_id=2;}

सेवा बटुआ {
rpc AuthorizBet (AuthorizBetReq) का परिणाम होगा (AuthorizBetRes);
rpc SettleBet (SettleReq) का परिणाम होगा (SettleRes);
}

3. 3 वेबहूक (सदस्यता उदाहरण)


POST https ://प्रदाता। उदाहरण/वेबहूक
{
"विषय ":" बटुआ। ऋण। ठीक है," "callback_url":"https://rgs। उदाहरण/पत्रिका," "रहस्य":"," "संस्करण":" 1। 2"
}
प्रसव:

पोस्ट https ://rgs। उदाहरण/पत्रिका
शीर्षक: X-हस्ताक्षर: Sha256 =..., X-Trace-Id: tr_a1b2
{
"event_type":"wallet। ऋण। ठीक है," "schema_version":"1। 2. 0", "" "पेलोड ": {"player _ id ": "p _ 19f3 ", "राशि ": {" माइनर _ यूनिट्स": 1460," मुद्रा":" EUR"}}
}

4) पहचान और निरंतरता

हमेशा लेखन संचालन (REST/gRPC मेटाडेटा) पर 'X-Idempotency-Key' की आवश्यकता होती है। रिप्ले - एक ही उत्तर।

मुख्य रचना व्यावसायिक मापदंडों से जुड़ी है (उदाहरण के लिए, 'बेट _ आईडी + राशि')।

लंबी प्रक्रियाओं के लिए सागा (अधिकृत कमिटमेंट/लॉक सेटलमेंट क्रेडिट)।

आउटबॉक्स/सीडीसी: घटनाओं को लेनदेन के पास परमाणु रूप से कब्जा कर लिया जाता है और बाहरी रूप से प्रकाशित किया जाता है।


5) वर्शनिंग और संगतता

REST - '/v1/... '+' Deprecation/Sunset '-heads; जीआरपीसी - 'पैकेज बटुआ। v1 '; घटनाएँ - 'स्कीमा _ संस्करण' निकाय + स्कीमा रजिस्ट्री।

SemVer: मामूली - वैकल्पिक/नए समापन बिंदु क्षेत्र; प्रमुख - एक नया पथ/पैकेज, प्रवास पर घटनाओं का "दोहरा अक्षर"।

एक प्रमुख संस्करण के बिना मौद्रिक स्थिति के शब्दार्थ को कभी न बदलें।


6) परिवहन की सुरक्षा

सभी S2S पर mTLS; वेबहूक के लिए - बॉडी सिग्नेचर (HMAC/EDDSA) + टाइमस्टैम्प और वैधता विंडो।

स्कोप प्रतिबंध (OAuth2 CC) और प्रति ब्रांड/क्षेत्र कुंजी विभाजन।

जीरो-ट्रस्ट: नेटवर्क नीतियां, अल्पकालिक टोकन, वॉल्ट/एचएसएम, महत्वपूर्ण कार्यों का WORM ऑडिट।


7) अवलोकन और एसएलओ

REST, gRPC मेटाडेटा और वेबहूक में End-to-end 'trace _ id'.

मेट्रिक्स: p50/p95/p99 विलंबता, कोड द्वारा त्रुटि दर, थ्रूपुट, अंतराल कतारें।

एसएलओ न्यूनतम (स्थल):
  • वॉलेट पी 95 '<150 एमएस' (अधिकृत/सेटल), आरईएस पब्लिक बी 2 बी पी 95 '<300 एमएस', वेबहुक ने '<5 मिनट' 99 वें प्रतिशत, "लॉस्ट/डुप्लिकेटेड सेटलमेंट्स" = 0 दिया।

8) रेट्राई, बैकऑफ और डिलीवरी ऑर्डर

REST/gRPC: घातीय बैकऑफ, जिटर, अवधि सीमा (समय सीमा/समयसीमा)।

वेबहूक: '2xx' के लिए दोहराने योग्य डिलीवरी; कुंजी ('player _ id/roul _ id') या रिसीवर पर deduplication द्वारा आदेश रखना।

एंटी-स्टॉर्म: समानांतर रिट्रीट सीमा, सर्किट ब्रेकर, दर सीमा।


9) एकीकरण पैटर्न

पैटर्न ए: "धन तुल्यकालिक, घटनाएँ अतुल्यकालिक"

1. RGS → वॉलेट (gRPC/REST) 'अधिकृत' → 'सेटल/क्रेडिट'।

2. समानांतर में, 'शर्त प्रकाशित होती है। बस में बस गए, और प्रदाता को एक वेबहुक रसीद प्राप्त हुई।

प्लस: तेजी से पैसा, अवलोकन। शून्य: आपको दो रूपरेखा की आवश्यकता है।

पैटर्न बी: "स्ट्रीमिंग लाइव"

जीआरपीसी स्ट्रीमिंग (टेबल स्टेटस, सट्टेबाजी विंडो) के माध्यम से लाइव-कोर ↔ ब्रिज।

नकद लेनदेन - अलग एकात्मक आरपीसी; घटनाएँ - बस/वेबहूक में।
  • प्लस: लाइव स्टेटस की न्यूनतम देरी।

पैटर्न सी: "बी 2 बी पब्लिक रेस्ट"

कैटलॉग/बोनस/सहयोगी/रिपोर्ट - कर्सर पैगिनेशन, फिल्टर, ईटीएजी के साथ आरईएस।

इसके अलावा: सरल साथी एकीकरण।


10) एंटी-पैटर्न (लाल झंडे)

केवल वेबहूक (तुल्यकालिक पुष्टि के बिना) के माध्यम से नकद लेनदेन।

कोई 'Idempotency-Key' → डुप्लिकेट डेबिट/क्रेडिट नहीं।
  • आउटबॉक्स/सीडीसी को दरकिनार करते हुए घटनाओं को प्रकाशित कर रहा है (घटनाएँ खो गई हैं)।
  • अहस्ताक्षरित/समयबद्ध वेबहूक - प्रतिस्थापन।
  • 'क्षेत्र/किरायेदार' टैग के बिना एक चैनल में विभिन्न क्षेत्रों के पीआईआई/धन का मिश्रण।
  • वेबहूक में बड़ा बाइनरी पेलोड (ब्रेक रिट्रे और लिमिट)।
  • शून्य गिरावट: वेबहूक का पतन पैसे की गणना को अवरुद्ध करता है।
  • समय सीमा के बिना और बैकऑफ के बिना - अटक कनेक्शन, संसाधन थकावट।

11) चेकलिस्ट

वास्तुकार/मंच

  • gRPC/REST द्वारा idempotency, घटनाओं के साथ पैसा - वेबहूक/बस।
  • सभी पैसे पथ पर आउटबॉक्स/सीडीसी।
  • '/vN 'и स्कीमा रजिस्ट्री; मूल्यह्रास/सूर्यास्त प्रक्रिया।
  • mTLS + वेबहुक हस्ताक्षर; प्रति ब्रांड/क्षेत्र गोपनीयता।
  • SLO-डैशबोर्ड p95/p99, त्रुटि दर, वेबहुक-लैग।
  • DR/xaoc-अभ्यास: डबल-डिलीवरी, आउट-ऑफ-ऑर्डर, क्षेत्र का डंप।

प्रदाता/आरजीएस

  • 'X-Trace-Id' और 'X-Idempotency-Key' भेजना।
  • बैकऑफ और डिडुप्लिकेशन रिट्रीस; वेबहुक को फिर से वितरित करने के लिए तैयार है।
  • अनुबंध संस्करणों को अद्यतन करें; 'Deprecation/Sunset' पर प्रतिक्रिया।
  • त्रुटि कोड और समय द्वारा लॉग/मैट्रिक्स।

12) तेज मामलों के लिए मिनी समाधान

सफारी/आईटीपी और तृतीय-पक्ष प्रतिबंध: पैसा - मेजबान में (REST/gRPC), iFrame सामग्री 'पोस्टमैसेज' के माध्यम से संचार करती है; iFrame के अलावा एक मेजबान से वेबहुक।

मल्टी-ब्रांड: टैग 'किरायेदार _ आईडी/ब्रांड _ आईडी/लाइसेंस' इन हेडर और इवेंट; कुंजी/प्रमाणपत्र अलग हैं।

बड़े फटने (टूर्नामेंट): वेबहुक से पहले - डीएलक्यू के साथ बफर/कतार; जब ओवरलोड - "कोई नया सत्र नहीं "/" नॉन-कोर हुक रोकें। "


13) एसएलओ-उन्मुख अलर्ट के उदाहरण

बटुआ। p95> एक पंक्ति में 150 ms 5 min को अधिकृत करें।

'DUPLICATE/IDEMOTENCY _ MISMATCH' errors> 0। 10 मिनट में 5%।

वेबहुक लैग p99> 180 सी थीम पर 'बेट। सेटलमेंट'।

काफ्का> 30 एस 'वॉलेट के लिए उपभोक्ता अंतराल। क्रेडिट। '


14) वापसी

IGaming में REST, gRPC और वेबहूक विनिमेय प्रौद्योगिकियां नहीं हैं, लेकिन एक ही ऑपरेटिंग मॉडल के कुछ हिस्से हैं।

REST/gRPC मौद्रिक आक्रमणकारियों द्वारा आयोजित किए जाते हैं: कम विलंबता, पहचान, सख्त SLA।

वेबहूक/बस पारदर्शिता और पैमाने प्रदान करते हैं: घटनाएं, टेलीमेट्री, एकीकरण।

आउटबॉक्स/सीडीसी, वर्शनिंग, हस्ताक्षर और अवलोकन जोड़ें - और एक वास्तुकला प्राप्त करें जहां पैसा जल्दी और सुरक्षित रूप से चलता है, घटनाएं खो नहीं जाती हैं, और उन्नयन दर्द रहित होते हैं।

× खेलों में खोजें
खोज शुरू करने के लिए कम से कम 3 अक्षर दर्ज करें।