WinUpGo
Aramak
CASWINO
SKYSLOTS
BRAMA
TETHERPAY
777 FREE SPINS + 300%
Cryptocurrency casino Crypto Casino Torrent Gear, çok amaçlı torrent aramanızdır! Torrent Dişli

REST, gRPC ve iGaming'deki Webhooks: Desenler ve Anti-Desenler

Tam makale

💡 18+. IGaming ürün ve mühendislik ekipleri için teknik malzeme. Oynamak için bir çağrı değil. "Platform'ile PAM/cüzdan/yazar kasa/bonuslar/RG'yi kastediyoruz. "Sağlayıcı" - RGS/canlı/jackpots/toplayıcılar.

1) Protokol haritası: kim ne için sorumludur

REST - HTTP/JSON üzerinden evrensel senkron istekler. Şeffaf önbellek, basit hata ayıklama, B2B entegrasyonları ve yönetici API'si için uygundur.

gRPC - HTTP/2 üzerinden yüksek performanslı ikili RPC: düşük gecikme süresi, akışlar, sert devreler. Sıcak para yolları (cüzdan/yerleşme), dahili hizmetler ve uzun ömürlü akışlar (canlı) için iyidir.

Webhook'lar alıcıdan gönderene yapılan geri çağrılardır. Olaylar için kullanılır ("para düştü", "limit çalıştı"), burada başlatıcı her zaman sonucu bekleyen kişi değildir.

Altın kural:
  • Para, sabit değişmezler ve idempotency ile senkronize RPC'ye (REST/gRPC) devam eder. Telemetri ve iş etkinlikleri - eşzamansız olarak (webhooks + etkinlik otobüsü).

2) Tipik yollar ve önerilen kanallar

YolTavsiye edilirNe sebeple
'bats. yetkilendirme '(hold)gRPC (dahili )/REST (B2B)Minimum gecikme süresi, sıkı SLA'lar
'bats. Yerleşmek '-' cüzdan. Kredi 'gRPC senkron + olayı veriyolunapara = ASIT; olaylar = gözlemlenebilirlik
'kasiyer. para yatırma/çekme 'REST + idempotencyPSP ile entegrasyon, izleme
'RG kontrolü/durdurma'gRPC/REST senkronFren lambaları anında sönmeli
'Bonus. sorun/tüketim 'REST senkronİş mantığı, ılımlı SLA'lar
'jackpot. tetikleme/ödeme 'gRPC/REST + Etkinliğipara sözleşmesi + denetim
Telemetri, analiz, uyarılarWebhooks + Otobüs (Kafka/Pulsar)Sürdürülebilirlik ve ölçek
Canlı Durum/DizinlergRPC akışı/Sunucu Tarafından Gönderilen EtkinliklerAnketleri ve gecikmeleri en aza indirmek

3) Sözleşme odaklı tasarım

3. 1 REST (parçalar)


POST/v1/bets/authorized
Başlıklar: X-Idempotency-Key: bet_r_8c12_1, X-Trace-Id: tr_a1b2
{
"session_id":"s_456," "bet_id":"b_001," "round_id":"r_8c12," miktar ": {" miktar ": 2. 00, "para birimi":" EUR"}
}
^ 200 {"durum": "yetkili", "hold _ id":'h _ zz1 "}
Hatalar (tek şema):

409
{"kod": "DUPLICATE", "mesaj": "Bet already authorized", "retryable": false, "trace _ id":'tr _ a1b2 "}

3. 2 gRPC (protobuf, basitleştirilmiş)

Proto syntax = "proto3";
Paket cüzdan. v1;

Mesaj Money {int64 minor_units = 1; string currency = 2; }//cents mesajı AuthorizedBetReq {string session_id=1; Dize bet_id=2; Dize round_id=3; Para miktarı = 4; string idempotency_key=5;}
MessageBetRes {string status = 1; string hold_id=2;}

Servis Cüzdanı {
rpc YetkilendirmeBet (YetkilendirmeBetReq) döndürür (YetkilendirmeBetRes);
rpc SettleBet (SettleReq) döndürür (SettleRes);
}

3. 3 Webhooks (abonelik örneği)


POST https ://provider. örnek/webhooks
{
"Konu ":" Cüzdan. Kredi. Tamam," "callback_url":"https://rgs. example/journal, "" secret ":", "version": "1. 2"
}
Teslimat:

POST https ://rgs. örnek/dergi
Üstbilgiler: X-İmza: sha256 =..., X-Trace-Id: tr_a1b2
{
"event_type":"wallet. Kredi. Tamam," "schema_version":"1. 2. 0", "event_id":"uuid," "payload ": {"player _ id ": "p _ 19f3 ", "amount ": {" minor _ units": 1460," currency":" EUR"}}
}

4) Idempotency ve tutarlılık

Yazma işlemlerinde her zaman 'X-Idempotency-Key' gerektirir (REST/gRPC meta verileri). Replay - aynı cevap.

Anahtar bileşimi iş parametrelerine bağlıdır (örneğin, 'bet _ id + amount').

Uzun süreçler için Sagas (yetkilendirmek - işlemek/kilitlemek - yerleşmek - kredi).

Outbox/CDC: Olaylar işlemin yakınında atomik olarak yakalanır ve harici olarak yayınlanır.


5) Sürüm oluşturma ve uyumluluk

REST -'/v1/... '+' Amortisman/Günbatımı '-heads; gRPC - 'paket cüzdan. v1 '; events - 'schema _ version' in bodies + schema registry.

SemVer: minör - isteğe bağlı/yeni uç nokta alanları; Major - yeni bir yol/paket, göçle ilgili olayların "çift harfi".

Parasal durumların semantiğini ana versiyon olmadan asla değiştirmeyin.


6) Taşımacıların güvenliği

Tüm S2S mTLS; Web kitapları için - gövde imzası (HMAC/EdDSA) + zaman damgası ve geçerlilik pencereleri.

Kapsam kısıtlaması (OAuth2 CC) ve marka/bölge anahtar segmentasyonu başına.

Sıfır güven: ağ politikaları, kısa ömürlü belirteçler, Vault/HSM, kritik eylemlerin WORM denetimi.


7) Gözlemlenebilirlik ve SLO

REST, gRPC meta verileri ve webhook'larda uçtan uca 'trace _ id'.

Metrikler: p50/p95/p99 gecikme süresi, kodlara göre hata oranı, işlem hacmi, gecikme kuyrukları.

SLO minimum (yer işaretleri):
  • Cüzdan p95 '<150 ms' (Yetkilendirme/Yerleşme), REST genel B2B p95 '<300 ms', Webhooks teslim '<5 dk' 99th persentil, "Kayıp/Çoğaltılmış Yerleşimler" = 0.

8) Retrai, geri alma ve teslimat siparişi

REST/gRPC: üstel geri kapanma, titreme, süre sınırı (son tarih/zaman aşımı).

Webhooks: '2xx'e tekrarlanabilir teslimat; Siparişin anahtarla tutulması ('player _ id/round _ id') veya alıcıda veri tekilleştirme.

Anti-fırtınalar: paralel geri çekilme limiti, devre kesici, hız limiti.


9) Entegrasyon kalıpları

Desen A: "Para senkron, olaylar asenkron"

1. RGS Cüzdan (gRPC/REST) 'yetkilendirir' - 'yerleşir/kredi'.

2. Paralel olarak, 'bahis yayınlanır. Otobüse yerleşti ve sağlayıcı bir webhook makbuzu aldı.

Artı: hızlı para, gözlemlenebilirlik. Eksi: iki kontura ihtiyacınız var.

Desen B: "Canlı yayın"

Canlı çekirdek ↔ Bridge üzerinden gRPC akışı (tablo durumları, bahis penceresi).

Nakit işlemleri - ayrı tek RPC; Olaylar - otobüs/webhooks.

Artı: canlı durumların minimum gecikmesi.

Desen C: "B2B genel REST"

Kataloglar/bonuslar/bağlı kuruluşlar/raporlar - İmleç sayfalama, filtreler, ETag ile REST.

Artı: basit ortak entegrasyonu.


10) Anti-desenler (kırmızı bayraklar)

Nakit işlemleri yalnızca webhook'lar aracılığıyla yapılır (eşzamanlı onay olmadan).

'Idempotency-Key' yok - yinelenen borçlar/krediler.

Giden kutusu/CDC'yi atlayarak olayları yayınlama (olaylar kaybolur).

İmzasız/zaman damgalı webhooks - yerine koyma.

Farklı bölgelerin PII/paralarının 'bölge/kiracı' etiketleri olmadan tek bir kanalda karıştırılması.

Webhook'larda büyük ikili yük (retray ve limitleri aşın).

Sıfır bozulma: Web kitaplarının düşmesi paranın hesaplanmasını engeller.

Son teslim tarihi ve geri dönüş olmadan gRPC - sıkışmış bağlantılar, kaynak tükenmesi.


11) Kontrol listeleri

Mimar/Platform

  • idempotency ile gRPC/REST tarafından para, olaylar - webhooks/bus.
  • Tüm para yollarında outbox/CDC.
  • '/vN 'и şema kaydı; Kullanımdan kaldırma/Sunset süreci.
  • mTLS + webhook imzaları; Marka/bölge başına gizlilik.
  • SLO-panoları p95/p99, hata oranı, webhook-lag.
  • DR/xaoc-egzersizleri: çift teslimat, sipariş dışı, bölgenin dökümü.

Sağlayıcı/RGS

  • 'X-Trace-Id've' X-Idempotency-Key 'gönderiliyor.
  • Geri alma ve veri tekilleştirme geri çekiliyor; Webhook'ları yeniden teslim etmeye hazır.
  • Sözleşme sürümlerini güncelleyin; 'Amortisman/Günbatımı'na tepki.
  • Hata kodu ve zamana göre günlükler/metrikler.

12) Keskin durumlar için mini çözümler

Safari/ITP ve üçüncü taraf kısıtlamaları: para - ana bilgisayarda (REST/gRPC), iFrame içeriği 'Mesaj sonrası'ile iletişim kurar; Web hooks iFrame dışında bir ana bilgisayardan.

Çok markalı: etiketler 'tenant _ id/brand _ id/license' başlıklarda ve olaylarda; Anahtarlar/sertifikalar ayrıdır.

Büyük patlamalar (turnuvalar): webhooks öncesi - DLQ ile tampon/kuyruk; Aşırı yüklendiğinde -'yeni oturum yok "/" çekirdek olmayan kancaları duraklat ".


13) SLO odaklı uyarılara örnekler

Cüzdan. Yetkilendirme p95> 150 ms 5 dakika üst üste.

'DUPLICATE/IDEMPOTENCY _ MISMATCH' hataları> 0. 10 dakikada %5.

Webhook lag p99> 180 c teması üzerine 'bet. setted'.

Kafka'da tüketici gecikmesi> 30 s for 'wallet. Kredi. '.


14) Çekilme

REST, gRPC ve iGaming'deki webhook'lar değiştirilebilir teknolojiler değil, aynı işletim modelinin parçalarıdır.

REST/gRPC parasal değişmezler tarafından tutulur: düşük gecikme süresi, idempotency, sıkı SLA'lar.

Webhooks/bus şeffaflık ve ölçek sağlar: olaylar, telemetri, entegrasyonlar.

Giden kutusu/CDC, sürüm oluşturma, imzalar ve gözlemlenebilirlik ekleyin - ve paranın hızlı ve güvenli bir şekilde hareket ettiği, olayların kaybolmadığı ve yükseltmelerin ağrısız olduğu bir mimari elde edin.

× Oyuna göre ara
Aramaya başlamak için en az 3 karakter girin.