WinUpGo
찾다
CASWINO
SKYSLOTS
BRAMA
TETHERPAY
777 FREE SPINS + 300%
암호 화폐 카지노 크립토 카지노 Torrent Gear는 다목적 급류 검색입니다! 토렌트 기어

IGaming의 REST, gRPC 및 Webhooks: 패턴 및 패턴 방지

전체 기사

💡 18+. iGaming 제품 및 엔지니어링 팀을위한 기술 자료. 플레이 요청이 아닙니다. "플랫폼" 은 PAM/지갑/금전 등록기/보너스/RG를 의미합니다. "공급자" -RGS/live/jackpots/aggregators.

1) 프로토콜 맵: 누가 책임을 져야하는지

REST-TP/JSON을 통한 범용 동기 요청. 투명한 캐시, 간단한 디버깅, B2B 통합 및 관리자 API에 편리합니다.

gRPC-HTT/2를 통한 고성능 바이너리 RPC: 낮은 대기 시간, 스트림, 하드 회로. 핫 머니 경로 (지갑/정착), 내부 서비스 및 수명이 긴 스트림 (실시간) 에 좋습니다.

웹 후크는 수신자에서 발신자로의 콜백입니다. 개시자가 항상 결과를 기다리는 사람은 아닌 이벤트 ("돈이 떨어졌다", "일한 한도") 에 사용됩니다.

황금 규칙:
  • 돈은 단단한 불변량과 demmpotency를 가진 동기식 RPC (REST/gRPC) 로 진행됩니다. 원격 측정 및 비즈니스 이벤트-비동기 적으로 (webhooks + 이벤트 버스).

2) 일반적인 경로 및 권장 채널

권장됩니다어떤 이유로
'베팅. '승인' (보류)gRPC (내부 )/REST (B2B)최소 대기 시간, 엄격한 SLA
'베팅. '→' 지갑을 정산하십시오. 신용 'gRPC 동기식 + 이벤트에서 버스로돈 = ACID; 이벤트 = 관찰 가능
'계산원. 예금/인출 'REST + idempotencyPSP와의 통합, 추적
'RG 확인/중지'gRPC/REST 동기식브레이크 라이트가 즉시 꺼져야합니다
'보너스. 문제/소비 'REST 동기화비즈니스 로직, 적당한 SLA
'잭팟. 트리거/지불 'gRPC/REST + 이벤트돈 계약 + 감사
원격 측정, 분석, 경고웹 후크 + 버스 (Kafka/Pulsar)지속 가능성과 규모
라이브 상태/디렉토리gRPC 스트리밍/서버 전송 이벤트설문 조사 및 지연 최소화

3) 계약 지향 디자인

3. 1 REST (조각)


POST/v1/베팅/승인
헤더: X-Idempotency-Key: bet _ r _ 8c12 _ 1, X-Trace-ID: tr _ a1b2
{
"sesion _ id": "s _ 456", "bet _ id": "b _ 001", "round _ id": "r _ 8c12", "mount": {"amount": 2. 00, "통화": "EUR"}
}
→ 200 {"상태": "승인 됨", "hold _ id": "h _ zz1"}
오류 (단일 스키마):

409
{"코드": "DUPLICATE", "메시지": "이미 승인 된", "재시도 가능": 거짓, "trace _ id": "tr _ a1b2"}

3. 2 gRPC (원형, 단순화)

프로토 구문 = "proto3";
패키지 지갑. v1;

메시지 Money {int64 minor _ units = 1; 문자열 통화 = 2; }//cents 메시지 AuthorizeBetReq {문자열 세션 _ id = 1; 문자열 bet _ id = 2; 문자열 round _ id = 3; 금액 = 4; 문자열 demempotency _ key = 5}
메시지 AuthorizeBetRes {문자열 상태 = 1; 문자열 보유 _ id = 2}

서비스 지갑 {
rpc AuthorizeBet (AuthorizeBetReq) 리턴 (AuthorizeBetRes);
rpc SettleBet (SettleReq) 반품 (SettleRes);
}

3. 웹 후크 3 개 (구독 예)


POST https ://provesser. 예/웹 후크
{
"주제": "지갑. 신용. (PHP 3 = 3.0.6, PHP 4) 예/저널, "" 비밀 ":", "버전": "1. 2"
}
배송:

POST https ://rgs. 예/저널
헤더: X-Signature: sha256 =..., X-Trace-ID: tr _ a1b2
{
"이벤트 _ 유형": "지갑. 신용. 확인 "," 스키마 _ 버전 ":" 1. 2. 0, "", 이벤트 _ id ":" uIS "," 페이로드 ": {" player _ id ":" p _ 19f3 "," amount ": {" minor _ units ": 1460," 통화 ":" EUR "}}
}

4) 이념과 일관성

쓰기 작업 (REST/gRPC 메타 데이터) 에는 항상 'X-Idempotency-Key' 가 필요합니다. 재생 → 동일한 답변.

주요 구성은 비즈니스 매개 변수 (예: 'bet _ id + 양') 와 관련이 있습니다.

긴 프로세스에 대한 사가 (승인 → 커밋/잠금 → 정산 → 크레딧).

전송/CDC: 이벤트는 거래 근처에서 원자 적으로 캡처되어 외부에 게시됩니다.


5) 수정 및 호환성

REST- '/v1/... '+' Deprencation/Sunset '헤드; gRPC- '패키지 지갑. v1 '; 이벤트- '스키마 _ 버전' 본문 + 스키마 레지스트리.

SemVer: 마이너-옵션/새 엔드 포인트 필드; 메이저 - 새로운 경로/패키지, 마이그레이션에 관한 이벤트의 "이중 문자".

주요 버전이 없으면 통화 상태의 의미를 바꾸지 마십시오.


6) 운송의 안전

모든 S2S의 mTLS; 웹 후크-바디 시그니처 (HMAC/EdUSA) + 타임 스탬프 및 유효성 창.

범위 제한 (OAuth2 CC) 및 브랜드/지역 주요 세분화.

제로 트러스트: 네트워크 정책, 단기 토큰, Vault/HSM, 중요한 행동에 대한 WORM 감사.


7) 관찰 및 SLO

REST, gRPC 메타 데이터 및 웹 후크의 엔드 투 엔드 'trace _ id'.

측정 항목: p50/p95/p99 대기 시간, 코드 별 오류율, 처리량, 지연 대기열.

SLO 최소 (랜드 마크):
  • 지갑 p95 '<150 ms' (권한/정착), REST 공개 B2B p95 '<300 ms', Webhooks는 '<5 min' 99 번째 백분위 수 인 "Lost/Duplicated Settlements" = 0을 전달했습니다.

8) Retrai, 백오프 및 배송 주문

REST/gRPC: 지수 백오프, 지터, 지속 시간 제한 (마감일/시간 초과).

웹 후크: '2xx' 로의 반복 가능한 전달; 키 ('player _ id/round _ id') 또는 수신기의 중복 제거 순서를 유지합니다.

폭풍 방지: 병렬 퇴각 제한, 회로 차단기, 속도 제한.


9) 통합 패턴

패턴 A: "돈 동기식, 이벤트 비동기식"

1. RGS → 월렛 (gRPC/REST) '승인' → '결제/신용'.

2. 동시에 '베팅이 게시됩니다. 버스에 정착하면 공급자는 웹 후크 영수증을받습니다.

플러스: 빠른 돈, 관찰. 마이너스: 두 개의 윤곽이 필요합니다.

패턴 B: "스트리밍 라이브"

gRPC 스트리밍 (테이블 상태, 베팅 창) 을 통한 라이브 코어 브리지.

현금 거래 - 별도의 단일 RPC; 이벤트-버스/웹 후크.

플러스: 라이브 상태의 최소 지연.

패턴 C: "B2B 공개 REST"

카탈로그/보너스/제휴사/보고서-커서 페이지 매김, 필터, ETag가있는 REST.

또한: 간단한 파트너 통합.


10) 반 패턴 (적기)

웹 후크를 통해서만 현금 거래 (동기 확인 없음).

'Idempotency-Key' → 중복 차단/크레딧이 없습니다.

Outbox/CDC를 우회하는 이벤트 게시 (이벤트가 손실 됨).

서명되지 않은/타임 스탬프 웹 후크 → 대체.

'지역/테넌트' 태그없이 한 채널에서 다른 지역의 PII/돈을 혼합합니다.

웹 후크의 큰 이진 페이로드 (브레이크 리트레이 및 한계).

제로 열화: 웹 후크의 붕괴는 돈 계산을 차단합니다.

마감일이없고 백오프가없는 gRPC-막힌 연결, 자원 고갈.


11) 점검표

건축가/플랫폼

  • demempotency, 이벤트가있는 gRPC/REST의 돈-웹 후크/버스.
  • 모든 돈 경로에서 전송/CDC.
  • '/vN '달력 스키마 레지스트리; 우울증/일몰 프로세스.
  • mSL + 웹 후크 서명; 브랜드/지역 당 비서.
  • SLO- 대시 보드 p95/p99, 오류율, 웹 후크 지연.
  • DR/xaoc 운동: 이중 배달, 주문 외, 지역 덤프.

공급자/RGS

  • 'X-Trace-ID' 및 'X-Idempotency-Key' 보내기
  • 백오프 및 중복 제거 retreas; 웹 후크를 다시 전달할 준비가되었습니다.
  • 계약 버전 업데이트; 'Deprencation/Sunset' 에 반응합니다.
  • 오류 코드 및 시간별 로그/메트릭스.

12) 날카로운 경우를위한 미니 솔루션

Safari/ITP 및 타사 제한: 돈-호스트 (REST/gRPC) 에서 iFrame 컨텐츠는 'post 메시지' 를 통해 통신합니다. iFrame 이외의 호스트의 웹 후크.

멀티 브랜드: 태그 '테넌트 _ id/브랜드 _ id/라이센스' 인 헤더 및 이벤트; 키/인증서는 별도입니다.

큰 버스트 (토너먼트): 웹 후크 전에-DLQ가있는 버퍼/큐; 과부하가 걸렸을 때- "새 세션 없음 "/" 비 코어 후크 일시 정지".


13) SLO 지향 경고의 예

지갑. p95> 150 ms 5 분 연속 승인.

'DUPLICATE/IDEMPOTENCY _ MISMATCH' 오류> 0. 10 분 만에 5%.

웹 후크 지연 p99> 180 c 테마 'bet. 정착'.

지갑 용 Kafka> 30 초의 소비자 지연. 신용. '.


14) 철수

iGaming의 REST, gRPC 및 웹 후크는 교환 가능한 기술이 아니라 동일한 운영 모델의 일부입니다.

REST/gRPC는 낮은 대기 시간, demempotency, 엄격한 SLA와 같은 통화 불변량에 의해 유지됩니다.

웹 후크/버스는 이벤트, 원격 측정, 통합 등 투명성과 규모를 제공합니다.

아웃 박스/CDC, 버전 지정, 서명 및 관찰 성을 추가하고 돈이 빠르고 안전하게 움직이고 이벤트가 손실되지 않으며 업그레이드가 통증이없는 아키텍처를 얻으십시오.

× 게임으로 검색
검색을 시작하려면 최소 3자를 입력하세요.