Როგორ არის მოწყობილი backend კაზინოს არქიტექტურა
1) მთელი სურათი: დომენები და მონაცემთა ნაკადები
ძირითადი დომენები:- Identity & Accounts - რეგისტრაცია, ავთენტიფიკაცია, როლები, მოწყობილობები, სესიები.
- Wallet & Ledger - ფულადი ანგარიშები, ბონუს საფულეები, გარიგებები, ჯადოქარი (append-only).
- Gaming & Bets - თამაშების სესიები, განაკვეთები, რაუნდი, შედეგების გაანგარიშება, ინტეგრაცია (RNG/Live/Crash და ა.შ.).
- Bonuses & Promotions - frispins, cashback, wackers, wagering (othering), anti abuse.
- Payments (Cashier) - on-ramp/of-ramp: ბარათები, APM, კრიპტი/stablecoins, KYC ბმული.
- KYC/AML/KYT & RG - პიროვნების/მისამართების/შემოსავლის გადამოწმება, გარიგების სკრინინგი, ლიმიტები და დრო.
- Risk & Compliance - განაკვეთების/გადახდების ლიმიტები, სანქციების სიები, გეო-ბლოკირება, აუდიტი.
- Catalog & Lobby - პროვაიდერების, თამაშების, კატეგორიების, ლიმიტების სია; A/B პარამეტრები.
- Reporting & BI - P&L, GGR/NGR, მოთამაშის შენარჩუნება, სასიცოცხლო ციკლი, აფილიატები.
- Observability & Ops - ლოგოები, მეტრიკები, ტრეკები, ალერტები, ფროიდის სიგნალები.
ორკესტრი: თანამედროვე პლატფორმა აშენებულია ღონისძიების წამყვანი: სერვისები გაცვლიან მოვლენებს საბურავების საშუალებით (Kafka/NATS), კრიტიკული ოპერაციები არ ხდება (საფულე/ჯადოქარი), გვერდითი ქვესისტემები იწერება და რეაგირებს ასინქრონულად (პრემია, BI, შეტყობინებები).
2) ფენიანი მოდელი
Edge ფენა: API კარიბჭე, WAF/bot დაცვა, rate limits, geo/IP ფილტრები, feature დროშები.
მომსახურების ფენა: ავტონომიური მიკრო სერვისები დომენებზე; სინქრონული კონტრაქტები - მხოლოდ იქ, სადაც საჭიროა მყისიერი თანმიმდევრულობა (მაგალითად, საფულის დებიუტი განაკვეთზე).
მოვლენების ავტობუსი: ძირითადი ბიზნეს მოვლენები ('bet. placed`, `round. settled`, `bonus. issued`, `kyc. verified`, `payout. requested`).
მონაცემები: OLTP (Postgres/MySQL) გარიგებისთვის; KV/Cache (Redis) სესიები/ლიმიტები; ობიექტის საცავი (S3) ლოგებისა და ექსპორტისთვის; OLAP (ClickHouse/BigQuery) ანალიტიკოსებისთვის.
3) საფულე და ლეჯერი: პლატფორმის გული
პრინციპები:- Append-only მენეჯერი: თითოეული ფინანსური ოპერაცია - ჩანაწერი ტიპით, თანხით, ვალუტით, წყაროზე დაყრდნობით (კურსი, პრემია, ანაბარი).
- ფულადი და ბონუსის ნაშთები ნაწილდება. შეუძლებელია ფულის და პრემიების „შერევა“; გამოიყენება სახსრების წყაროების პოლიტიკა.
- ბირთვული დებიუტი - სესხი: განაკვეთი = ფულადი ან ბონუს საფულის დებიუტი + ჰოლდის შექმნა; რაუნდის გაანგარიშება აიღებს ჰოლდს და აკეთებს სესხს/დებიუტს შედეგის მიხედვით.
- `LEDGER: HOLD` (−10. 00 EUR, source: cash, ref: betId)
- `LEDGER: SETTLE_DEBIT` (−10. 00 EUR) + `LEDGER: PAYOUT` (+36. 00 EUR) - თუ WIN
- `LEDGER: HOLD_RELEASE` (+10. 00 EUR) - თუ VOID/PUSH
- Idempotent ოპერაციები (idempotent- ის გასაღებები 'requestID').
- ბალანსის ვარიანტი (ოპტიკური შეკრება) რბოლებისგან დასაცავად.
- გაანგარიშების მკაფიო ვალუტა და კურსების დაფიქსირება კონვერტაციებში.
4) ინტეგრაცია თამაშების პროვაიდერთან
საფულის ნიმუშები:- Seamless - ბალანსი ოპერატორთან; კურსი/გაანგარიშება გადის ჩვენს API- ს რეალურ დროში.
- Transfer - პროვაიდერთან თამაშის ბანკში ანაბარი; მეტი ხახუნება, მაგრამ უფრო დაბალია საფულე აფთიაქის მოთხოვნა.
- `bet. Place 'pre-auth საფულეში (hold) -' ackepted/rejected '.
- `round. Settle 'from provider (webhook/WS) - settle ლეჯერში - ღონისძიება საბურავზე, ანგარიში/პრემია.
სტანდარტიზაცია bridge- ის საშუალებით: ერთი მოვლენის სქემები და იდენტიფიკატორები 'roundId/betID', limite mapping ცხრილი და side-bets, შეცდომების ნორმალიზაცია.
5) პრემია, wagering და ანტი-აბიუსი
მოდელები: სადეპოზიტო პრემიები, ფრისპინები, გადახურვა, მისიები, ტურნირები.
Wagering: ექსპლუატაციის პროგრესი ცალკე ინახება; წესი „რა განაკვეთები განიხილება“ (პროცენტი თამაშების კატეგორიებზე).
ჩამოწერის რიგითობა: ჯერ ბონუს სახსრები, შემდეგ რეალური - ან პირიქით, მკაცრად პოლიტიკაში.
მოთამაშის ანტი-შაბლონები: ფსონები საპირისპირო შედეგებზე, მინიმალური განაკვეთები პროგრესის ფერმერისთვის, გადარიცხვა თამაშებს შორის სხვადასხვა წონით - დაჭერილია წესებითა და მორიელებით.
6) KYC/AML/KYT и Responsible Gaming (RG)
KYC: ID/მისამართების/ასაკის გადამოწმება; სტატუსები აკონტროლებენ ლიმიტებს (deposit/withdraw/betMax).
AML/KYT: გადახდის არხების სკრინინგი და საკვანძო მისამართები (კრიპტოვალუტისთვის), სანქციების სიები, სახსრების წყაროები.
RG: დღისით/ყოველკვირეული ლიმიტები, დრო, თვითკმაყოფილება; ბლოკირების შემოწმებები ხორციელდება bet- მდე. place` и `payout. request`.
7) ფულადი სახსრები: ანაბრები და გადახდები
დეპოზიტები: ბარათების პროვაიდერები/ARM, კრიპტი/სტაბულები, ადგილობრივი მეთოდები; webhook დადასტურება; დაცვა ცარცბეკის რისკებისგან.
გადახდები: ხაზები, ლიმიტები, 4 - თვალის პრინციპი დიდი თანხებისთვის; სახსრების წყაროები არის „მხოლოდ cash ბალანსი“.
კრიპტის On-ramp/Off-ramp: მანქანების კონვერტაცია, KYT მისამართები, ექსპოზიციის ჰეჯირება.
8) ლიმიტები, რისკი და რეგიონალური წესები
შეზღუდვების პროფილები ('DEFEULT', 'VIP _ A ",' VIP _ B ',' ULTRA ') ქვეყანაში/ვალუტაში/CUS.
Geo ბლოკირება IP/GPS/დოკუმენტი.
თამაშის/კატეგორიის ჭერი, პროვაიდერების აკრძალვა იურისდიქციებში.
რეაქცია ანომალიებზე: განაკვეთების ზრდა, მოწყობილობების/გადახდების კორელაცია, მრავალი VOID ერთი მომხმარებლისგან.
9) დაკვირვება და ექსპლუატაცია
მეტრიკა: საფულის შეფერხება, განაკვეთების უკმარისობა, რაუნდის გასვლის დრო, ანაბრის კონვერტაცია - განაკვეთი, GGR/NGR, SLA გადახდა, ბონუსის განაკვეთების წილი.
ლოგოები და ტრეკები: კორელაცია 'traceId' ყველა მოვლენაში; ნედლეული მოვლენების შენახვა „ცივ“ საცავში.
ალერტები: საფულის პასუხის დეგრადაცია, „VOID“ - ის ზრდა, ჩანაწერების დასკვნების შეცდომა, ზრდა 'RG _ BLOCKED'.
Runbooks: ინციდენტების მკაფიო პროცედურები (პროვაიდერის ვარდნა, ლეჯერის რასინქრონი, რაუნდის გაუქმება).
10) უსაფრთხოება და კონფიდენციალურობა
Auth: მოკლე lived JWT/opaque tokens, საკვანძო როტაცია ('kid'), mTLS კრიტიკული ინტეგრაციისთვის.
დაშვების პოლიტიკოსები: როლების მკაცრი გამიჯვნა (ოპერაციები, ფინანსები, საფოსტო მომსახურება), 2FA; დიდი გადასახადებისთვის - კარგი მეორე პირისგან.
მონაცემთა კერძო: PII დაშიფვრა, გადახდის მონაცემების ტოქსიკაცია, შენახვის შემცირება; GDPR/წაშლა მოთხოვნით.
აუდიტი: უცვლელი ჟურნალები, კრიტიკული მოვლენების ხელმოწერა, მარეგულირებლის ექსპორტი.
11) სკალირება და წინააღმდეგობა
Stateles სერვისები skailer- ისთვის; ჰორიზონტალური ხიბლი ცხელი ცხრილებისთვის (ფსონები, მოვლენების ლოგოები).
ლეგერი - ვერტიკალური რეზერვი + რეპლიკაცია კითხვისა/მოხსენებისთვის; მიგრაციის სქემების „გაყინვა“ shadow tables- ის საშუალებით.
კეშირება: Redis ერთად TTL და „ორმაგი ჩეკის“ სტრატეგიები (მოვლენების შესახებ რეად-ტროუგი + ინვალიდატი).
DR/HA: Multi-AZ, bacaps რეგულარული აღდგენით, RPO/RTO მარეგულირებელი მოთხოვნების დონეზე.
Degradation რეჟიმები: ავტონომიური სალარო, „მძიმე“ ბონუსების გამორთვა, ცოცხალი თამაშების გადაცემა maintenance- ში საბურავის მიუწვდომლობის შემთხვევაში.
12) კონტრაქტები და მაგალითები
კურსი (sync, JSON/REST ან GRPC):json
POST /bets/place
{
"requestId": "9a7f-…", "playerId": "p_123", "wallet": "cash",
"roundId": "R-2025-10-17-19:20:05-PRAGM-Table12", "gameId": "pragm_live_roulette", "selection": [{"market":"straight","value":"17"}], "stake": {"amount":"10. 00","currency":"EUR"}, "device": {"ip":"203. 0. 113. 5","ua":"Mozilla/..."}
}
პასუხი:
json
{
"status": "ACCEPTED", "betId": "bet_8cd…", "balanceAfter": "245. 30", "hold": "10. 00", "limits": {"maxBet":"5000. 00"}
}
ღონისძიება საბურავში (async):
json
{
"event":"round. settled", "roundId":"R-2025-10-17-19:20:05-PRAGM-Table12", "bets":[{"betId":"bet_8cd…","outcome":"WIN","stake":"10. 00","payout":"360. 00"}], "playerId":"p_123", "ts":"2025-10-17T19:20:09. 231Z", "traceId":"tr_5f1…"
}
13) ანტი-ნიმუშები (რაც პლატფორმას არღვევს)
ბონუსისა და ფულის შერევა ერთ გარიგებაში წყაროების გარეშე.
გრძელი ნიშნები და მათი შენახვა კლიენტზე.
Idempotent- ის არარსებობა კრიტიკულ ოპერაციებში (დებეტის დუბლები).
მონოლითური საანგარიშო SQL საბრძოლო BD (OLAP OLTP).
პროვაიდერის ბრმა მინდობილობა ჩანაწერისა და ლიმიტის გარეშე.
არ არსებობს ტაიმსონის სტანდარტი (UTC ყველგან!) რაუნდებისა და მოხსენებების იდენტიფიკატორებში.
სინქრონული ზარები არაფინანსურ დომენებში (პრემია/შეტყობინებები) ბლოკავს განაკვეთს.
14) backend კაზინოს გაშვების ჩეკის სია
ფინანსები და საფულე
- Leager append-only, idempotence, ბალანსის ვერსია.
- დაყოფა cash/bonus, წყაროების პოლიტიკა.
- კურსები/კონვერტაცია აღირიცხება ოპერაციაში.
თამაშების ინტეგრაცია
- ერთი განაკვეთის/გაანგარიშების ხელშეკრულება, ფორმატის 'roundID/betID ".
- ნაგულისხმევი Seamless საფულე; ტრანსფერი - მხოლოდ იქ, სადაც გამართლებულია.
- ავტომატური VOID/REFUND სცენარი.
KYC/AML/RG
- პოლიტიკოსები განაკვეთის/გადახდის მიღებამდე; KYC სტატუსები - ლიმიტები.
- KYT on-chain, სანქციების სკრინინგი, მტკიცებულებათა ბაზის შენახვა.
სალარო
- Webhuki/ხელმოწერები, dubles/retrais, reconcile ერთად PSP/კრიპტო-პროვაიდერები.
- 4-eyes ძირითადი გადასახადებისთვის, ოპერატორების სამოქმედო ჟურნალი.
დაკვირვება
- მეტრიკა საფულე, გზის სეტლის ლატაცია, განაკვეთების უარყოფა, SLA გადახდები.
- ტრეკები (traceID), ალერტები, runbooks.
უსაფრთხოება
- mTLS/HMAC, JWT მოკლე TTL, გასაღების როტაცია.
- როლები/უფლებები, 2FA, გადახდის მონაცემების ტოქსიკაცია.
მონაცემები
- OLTP/OLAP დაყოფა, CDC DWH, S3 ნედლეული მოვლენებისთვის.
- Bacapes და რეგულარული აღდგენის ტესტები.
15) შედეგი
backend კაზინოს არქიტექტურა არის ფულისა და ფსონების მკაცრი ბირთვი ხაზოვანი თანმიმდევრობით და მოქნილი პერიფერია მოვლენებზე: პრემიები, ანალიტიკა, კომუნიკაცია. წარმატება განისაზღვრება არა მიკრო სერვისების რაოდენობით, არამედ დისციპლინით: მკაფიო დომენის საზღვრები, ლეგენდა „მაგიის“ გარეშე, იდემპოტენტობა, დაკვირვება და ნაგულისხმევი. ასეთი საფუძველზე, პლატფორმა მასშტაბურია ქვეყნის/ვალუტის/პროვაიდერების მიხედვით და გაუძლებს დატვირთვას უსაფრთხოების და ფულის კომპრომისის გარეშე.