Son yenilənmə:
Fedor Korolev
Betting platformalarında caches və brokerlərin istifadəsi
Click to expand / collapse

Betting sistemləri yüksək yük altında işləyir və dərhal məlumat emalı tələb edir: canlı dərəcələr, axın hadisələri, hesablamalar və interfeys real vaxt sinxronlaşdırılmalıdır. Buna görə də memarlıqda əsas rolu keşləmə sistemləri (Redis) və mesaj brokerləri (Kafka, RabbitMQ) oynayır. Onlar oyun üçün kritik sürət, sabitlik və miqyaslı təmin edir.


Niyə betting cache lazımdır

Redis üçün yüksək performanslı in-memory saxlama kimi tətbiq olunur:
  • Matçların, əmsalların, hadisə statuslarının keşləşdirilməsi
  • TTL məlumatlarının saxlanması (bahis zamanlayıcıları, canlı yeniləmələr)
  • İstifadəçi sessiyalarına, səbətlərə, hekayələrə sürətli giriş
  • Rate-limiting, bahis limitləri, antifrod
  • Yavaş bazalar və interfeys arasında tamponlama

Redis, mikroservislər arasında ani xəbərdarlıq üçün pub/sub rejimində istifadə olunur.


Brokerlər mesaj edir

Kafka və RabbitMQ mikroservislər və xarici provayderlər arasında məlumat axınlarını idarə edir:
İstifadə ssenarisiKafkaRabbitMQ
İdman tədbirlərinin axınıYüksək bant genişliyiHəcmləri ilə məhdudlaşır
Əmsalların yenilənməsiƏla uyğunNövbələr üçün uyğundur
Bildirişlər, alertlərArtıqSadə ssenarilərdə mükəmməl
Analitika və LogingClickHouse-da axınKafka və ya log toplayıcıları daha yaxşıdır

Kafka vs RabbitMQ - seçim vəzifədən asılıdır

MeyarKafkaRabbitMQ
Bant genişliyiÇox yüksək (milyon msg/san)Orta
Sıra və nizamZəmanətliDəstəklənir
Mesajların saxlanmasıUzunmüddətli (diskdə)Qısamüddətli (yaddaş/disk)
Yükün idarə edilməsiBöyük miqyaslıQuraşdırılması və quraşdırılması asandır
üçün idealAxınlar, qovşaqlar, real vaxt APIBackend, bildirişlər, növbələr

Memarlıq həllərinin nümunələri

Redis + PostgreSQL: DB-də backup matçlarının sürətli verilməsi

Kafka + Go-xidmətlər: hadisələrin qəbulu və faktorların axını

RabbitMQ + Node. js: bonusların, pulların, e-poçt hadisələrinin emalı

Kafka → ClickHouse: axın analitikası, canlı bahislərin izlənməsi


Platformaya nə verir

Hadisələrə reaksiya - millisaniyədə

Keş və növbələr vasitəsilə DB və API-nin boşaldılması

Sərt bağlama olmadan mikroservislərin ölçülə biləcəyi

Etibarlılığın artırılması: uğursuzluqlar bütün sistemə təsir etmir

Real-time analitika və alertinq qurmaq imkanı


Keşlər və brokerlər betting sistemlərində real zamanın nüvəsidir. Redis məlumatlara ildırım sürəti ilə çıxış təmin edir, Kafka və RabbitMQ hadisə axınlarını idarə edir və birlikdə platformanın canlı yükdə ölçülə bilən, uğursuzluğa davamlı və sabit davranışını təmin edir. Onlarsız bu gün heç bir ciddi betting məhsulu qurmaq olmaz.

Populyar mövzular


Əsas mövzular