WinUpGo
جستجو
CASWINO
SKYSLOTS
BRAMA
TETHERPAY
777 FREE SPINS + 300%
کازینو cryptocurrency به کازینو رمزنگاری Torrent Gear جستجوی تورنت همه منظوره شماست! دنده تورنت

REST، gRPC و Webhooks در iGaming: الگوهای و ضد الگوهای

مقاله کامل

💡 18+. مواد فنی برای محصولات iGaming و تیم های مهندسی. فراخوانی برای بازی نیست. منظور از «پلت فرم» PAM/wallet/cash register/bonuses/RG است. «ارائه دهنده» - RGS/زنده/jackpots/aggregators.

1) نقشه پروتکل: چه کسی مسئول چه چیزی است

REST - درخواست های همزمان جهانی بیش از HTTP/JSON. کش شفاف، اشکال زدایی ساده، مناسب برای ادغام B2B و مدیریت API.

gRPC - RPC باینری با کارایی بالا در طول HTTP/2: تاخیر کم، جریان، مدارهای سخت. خوب برای مسیرهای پول داغ (کیف پول/حل و فصل)، خدمات داخلی و جریان های طولانی مدت (زنده).

Webhooks تماس تلفنی از گیرنده به فرستنده است. برای رویدادها استفاده می شود («پول سقوط کرد»، «حد کار کرد»)، جایی که آغازگر همیشه کسی نیست که منتظر نتیجه باشد.

قانون طلایی:
  • پول در RPC همزمان (REST/gRPC) با ناوردایی سخت و idempotency می رود. تله متری و رویدادهای کسب و کار - به صورت ناهمگام (webhooks + اتوبوس رویداد).

2) مسیرهای معمول و کانال های توصیه شده

راه هاتوصیه می شودبه چه دلیلی
خوب شد. اجازه (نگه دارید)gRPC (داخلی )/REST (B2B)حداقل تاخیر، SLA های سخت
خوب شد. حل و فصل → کیف پول. اعتبار..gRPC همزمان + رویداد به اتوبوسپول = اسید ؛ رویدادها = قابلیت مشاهده
بیشتر جلب توجه میکند. سپرده/برداشت 'استراحت + idempotencyادغام با PSP، ردیابی
'بررسی RG/توقف'gRPC/استراحت همزمانچراغ ترمز باید فورا خاموش شود
سلام. موضوع/مصرف "استراحت همزمانمنطق کسب و کار، SLA های متوسط
جکپات. ماشه/پرداخت 'gRPC/REST + رویدادقرارداد پول + حسابرسی
تله متری، تجزیه و تحلیل، هشدارکتاب های اینترنتی + اتوبوس (کافکا/پولسار)پایداری و مقیاس
وضعیت زنده/دایرکتوری هاgRPC جریان/رویدادهای سرور ارسال شدهبه حداقل رساندن نظرسنجی ها و عقب ماندگی ها

3) طراحی قرارداد گرا

3. 1 استراحت (قطعات)


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
{«کد «: «تکراری»,» پیام»:» شرط در حال حاضر مجاز «, «قابل استرداد «: غلط,» ردیابی _ id»:» tr _ a1b2»}

3. 2 gRPC (protobuf، ساده شده)

نحو اولیه = «proto3»;
کیف پول بسته. v1 ؛

پیام پول {int64 minor_units = 1 ؛ رشته ارز = 2; }/سنت پیام AuthorizeBetReq {session_id=1 رشته; bet_id=2 رشته ؛ round_id=3 رشته ؛ مقدار پول = 4 ؛ idempotency_key=5 رشته ؛}
پیام AuthorizeBetRes {وضعیت رشته = 1; hold_id=2 رشته ؛}

کیف پول سرویس {
rpc AuthorizeBet (AuthorizeBetReq) را برمی گرداند (AuthorizeBetRes);
rpc SettBet (SettReq) باز می گردد (SettRes);
}

3. 3 Webhooks (نمونه اشتراک)


پست https ://ارائه دهنده. به عنوان مثال/webhooks
{
"موضوع ":" کیف پول. اعتبار. باشه» «callback_url":"https://rgs مثال/مجله "،" راز ":"، "نسخه": "1. 2"
}
تحویل:

ارسال https ://rgs. مثال/مجله
عناوین: X-Signature: sha256 =..., X-Trace-Id: tr_a1b2
{
"event_type":"wallet. اعتبار. باشه» «schema_version":"1 2. 0"، "event_id":"uuid," "payload ": {"player _ id ": "p _ 19f3 "، "مقدار ": {" minor _ units": 1460،" ارز":" EUR"}
}

4) بی نظمی و سازگاری

همیشه به «X-Idempotency-Key» در عملیات نوشتن) فراداده REST/gRPC (نیاز است. بازپخش: همان پاسخ.

ترکیب کلید به پارامترهای کسب و کار گره خورده است (به عنوان مثال، 'bet _ id + مقدار').

Sagas برای فرآیندهای طولانی (اجازه → تعهد/قفل → حل و فصل اعتبار).

Outbox/CDC: رویدادها به صورت اتمی در نزدیکی معامله گرفته می شوند و در خارج از آن منتشر می شوند.


5) نسخه و سازگاری

استراحت - '/v1/... '+' استهلاک/غروب آفتاب '-heads ؛ gRPC - کیف پول بسته. v1 '; events - 'schema _ version' in bodies + رجیستری طرح.

SemVer: جزئی - زمینه های نقطه پایانی اختیاری/جدید ؛ major - یک مسیر/بسته جدید، «دو حرف» از وقایع مربوط به مهاجرت.

هرگز معانی وضعیت پولی را بدون نسخه اصلی تغییر ندهید.


6) ایمنی حمل و نقل

mTLS در تمام S2S ؛ برای webhooks - امضای بدن (HMAC/EdDSA) + برچسب زمان و اعتبار پنجره.

محدودیت محدوده (OAuth2 CC) و تقسیم بندی کلیدی برند/منطقه.

اعتماد صفر: سیاست های شبکه، نشانه های کوتاه مدت، Vault/HSM، حسابرسی WORM از اقدامات مهم.


7) قابلیت مشاهده و SLO

End-to-end 'trace _ id' در REST، ابرداده gRPC و کتابهای وب.

معیارهای: p50/p95/p99 تاخیر، نرخ خطا توسط کد، توان، صف تاخیر.

حداقل SLO (نشانه ها):
  • کیف پول p95 <150 ms '(Authorize/Settle)، REST B2B p95' <300 ms '، Webhooks «<5 min» 99th صدک، «Lost/Duplicated Settlements» = 0.

8) بازپرداخت، بازپرداخت و سفارش تحویل

REST/gRPC: عقب نشینی نمایی، لرزش، محدودیت مدت زمان (مهلت/زمان).

Webhooks: تحویل قابل تکرار به '2xx' ؛ نگه داشتن سفارش توسط کلید ('player _ id/round _ id') یا deduplication در گیرنده.

ضد طوفان: محدودیت عقب نشینی موازی، قطع کننده مدار، محدودیت سرعت.


9) الگوهای ادغام

الگوی A: «پول همزمان، حوادث آسنکرون»

1. RGS → کیف پول (gRPC/REST) «مجاز» → «تسویه/اعتبار».

2. به طور موازی، "شرط بندی منتشر شده است. به اتوبوس منتقل شد و ارائه دهنده یک رسید webhook دریافت می کند.

به علاوه: پول سریع، قابلیت مشاهده. منفی: شما به دو خط نیاز دارید.

الگوی B: «پخش زنده»

پل ↔ زنده هسته از طریق جریان gRPC (وضعیت جدول، پنجره شرط بندی).

معاملات نقدی - RPC جداگانه ؛ حوادث - در اتوبوس/webhooks.

به علاوه: حداقل تاخیر وضعیت زنده.

الگوی C: «استراحت عمومی B2B»

کاتالوگ/پاداش/وابسته/گزارش - REST با صفحه بندی مکان نما، فیلتر، ETag.

به علاوه: ادغام شریک ساده.


10) ضد الگوهای (پرچم قرمز)

معاملات نقدی فقط از طریق وب سایت ها (بدون تایید همزمان).

بدون «Idempotency-Key» → بدهی/اعتبار تکراری.

انتشار رویدادها با دور زدن outbox/CDC (رویدادها از دست می روند).

Webhooks بدون امضا/زمانبندی → جایگزینی.

مخلوط کردن PII/پول از مناطق مختلف در یک کانال بدون برچسب «منطقه/مستاجر».

payload باینری بزرگ در webhooks (شکستن retrays و محدودیت).

تخریب صفر: سقوط وب سایت ها محاسبه پول را متوقف می کند.

gRPC بدون مهلت و بدون برگشت - اتصالات گیر، خستگی منابع.


11) چک لیست

معمار/پلت فرم

  • پول توسط gRPC/REST با idempotency، حوادث - webhooks/bus.
  • صندوق پستی/CDC در تمام مسیرهای پول.
  • /vN и رجیستری طرح ؛ فرآیند کاهش/غروب آفتاب.
  • امضای mTLS + webhook ؛ رازداری در هر نام تجاری/منطقه.
  • SLO-داشبورد p95/p99، میزان خطا، webhook-lag.
  • DR/xaoc-تمرینات: تحویل دو، خارج از سفارش، تخلیه منطقه.

ارائه دهنده/RGS

  • ارسال «X-ردیابی ID» و «X-idempotency-کلید».
  • عقب نشینی و عقب نشینی ؛ آماده ارائه مجدد webhooks است.
  • به روز رسانی نسخه های قرارداد ؛ واکنش به «سقوط/غروب خورشید».
  • سیاهههای مربوط/معیارهای کد خطا و زمان.

12) راه حل های کوچک برای موارد تیز

Safari/ITP و محدودیت های شخص ثالث: پول - در میزبان (REST/gRPC)، محتوای iFrame از طریق «postMessage» ارتباط برقرار می کند ؛ وب سایت از یک میزبان غیر از iFrame.

چند نام تجاری: برچسب ها 'tenant _ id/brand _ id/license' in هدر و حوادث ؛ کلیدها/گواهینامه ها جداگانه هستند.

انفجار بزرگ (مسابقات): قبل از webhooks - بافر/صف با DLQ ؛ هنگامی که بیش از حد - «بدون جلسات جدید «/» توقف قلاب غیر هسته ای ».


13) نمونه هایی از هشدارهای SLO گرا

کیف پول. اجازه دهید p95> 150 ms 5 دقیقه در یک ردیف.

'DUPLICATE/IDEMPOTENCY _ عدم تطابق' errors> 0. 5 درصد در 10 دقیقه

Webhook تاخیر p99> 180 c در موضوع 'شرط. حل و فصل'.

تاخیر مصرف کننده در کافکا> 30 ثانیه برای همه. اعتبار.


14) برداشت

REST، gRPC و WebHooks در iGaming فن آوری های قابل تعویض نیستند، بلکه بخشی از همان مدل عامل هستند.

REST/gRPC توسط متغیرهای پولی نگهداری می شود: تاخیر کم، idempotency، SLA های سخت.

Webhooks/bus شفافیت و مقیاس را فراهم می کند: رویدادها، تله متری، ادغام.

اضافه کردن صندوق پستی/CDC، نسخه، امضا و مشاهده - و یک معماری که در آن پول به سرعت و با خیال راحت حرکت می کند، حوادث از دست داده است، و ارتقاء بدون درد است.

× جستجو در بازی‌ها
برای شروع جستجو حداقل ۳ کاراکتر وارد کنید.