GH GambleHub

Zamanlayıcı ve Arka Plan Görevleri

(Bölüm: Operasyonlar ve Yönetim)

1) Amaç

Zamanlayıcı ve arka plan görevleri, platformun kullanıcı dışı çalışmasını sağlar: periyodik hesaplamalar, eser yayınları, temizleme ve kuyruk tekrarları. Hedefler determinizm, hata toleransı ve denetlenebilirliktir.


2) Görev taksonomisi

Zaman tabanlı: zamanlanmış (cron/takvim): RTP pencerelerini temizleme, kapatma, yükleme, arşivleme.
Olay odaklı: veriyolundan tetikleyiciler (PaymentsSettled, PriceListUpdated).
Tek seferlik/Ad-hoc: TTL ile tek seferlik jablar.
Uzun süren: Backoff/sagas, akış kompaktları.
Bakım: anahtar rotasyonları, yeniden paketleme, indeksler, önbellek ısınma.


3) Mimari (referans)

Bileşenler:

1. Zamanlayıcı (kontrol düzlemi): programları, CAL/cron, bakım pencereleri, zaman dilimleri, sınırlayıcılar depolar.

2. Dispatcher: Plan - kuyruk (öncelik/kiracı/bölge başına), son tarihler, idempotent anahtarları koyar.

3. İşçiler: görev havuzları için statik/otomatik ölçeklendirme; Kalp atışları, kiralamalar.

4. Kuyruk/Veri Yolu: FIFO/öncelik, DLQ, ertelenmiş mesajlar.

5. Soyunma/Koordinasyon: dağıtılmış kilitler (kiralama), lider seçimi (Raft/ZK/Konsolos).

6. Vault/KMS: JIT sırları, kısa TTL.

7. Gözlemlenebilirlik: izler/metrikler/günlükler, gösterge panoları, uyarılar.

8. Denetim/WORM: değişmez yürütme makbuzları, Merkle dilimleri.

Desenler: outbox/CDC, idempotency, tazminat (sagas), geri basınç, devre kesiciler.


4) Programlar: cron ve takvimler

Cron v3: saniye/dakika/saat/gün/ay/gün-hafta; "/5 "desteği, aralıklar, listeler.
Takvimler/istisnalar: iş takvimi, sessizlik pencereleri, tatiller/DST.
Zaman dilimleri: görevde 'tz' tutun; Kiracının yerel saat başlangıcı.
Çok bölgeli: Bölge başına çizelgelerin kopyaları veya drenaj/yeniden seçim ile "lider bölge + takipçiler".


5) Kuyruklar, öncelikler, SLA'lar

Öncelikli sınıflar: P0 (kritik), P1, P2, P3; Bireysel işçi havuzları.
SLA/son tarihler: 'must _ start _ by', 'must _ finish _ by'; Skip - eskalasyon/retray.
Kotalar ve adalet: Görevler/min/kiracı için kapaklar, "patlamalar" için belirteçler, gürültülü komşular izolasyonu.
Gecikme/görünürlük zaman aşımı.


6) Rekabetçilik ve blokajlar

Kiralamalar: otomatik uzatma (kalp atışı) ile işin kiralanması; Zaman aşımı ile - iptal.
Mutex/semafores: kaynak başına (örneğin, "price list x writes only one worker").
Sharding: 'kiracı/bölge/hash (anahtar)'ile; Önbellek ve veri lokalitesi için yapışkan yönlendirme.
Lider seçimi: Bir lider "sistem" işlerini yayınlar (örneğin,'tüm RTP pencerelerini kapat "), takipçiler - sıcak bekleme.


7) Güvenilirlik: Retrai, idempotency, deadup

Idempotent anahtarı: '(task_type, business_id, pencere)'; tekrarlar - aynı makbuz.
Retrai: üstel geri çekilme + jitter, denemelerin sınırı, hata stratejisi (yeniden deneme/iptal/telafi).
Zehir hapı: N arızalarından sonra DLQ'ya hızlı transfer, sahibine uyarı.
Dedup: TTL pencerelerinde görülen önbellek (bellek içi + KV).
Tam olarak bir kerelik etkiler: Işlem günlüğü/makbuzları yoluyla yan etkilerin doğrulanması.


8) Uzun ve ağır görevleri yönetmek

Gruplama: gruplara ayrılma, kontrol noktaları/devam.
Zaman-boks: CPU/IO/ağ çıkış sınırlaması; Kaydedilen ilerleme ile kesme.
Sagalar/tazminatlar: Servisler arası adımlar için "geri al" semantiği.
Eşzamanlılık-büyük harfleri: tür/kiracı/bölge başına eşzamanlı görevlerin sınırları.


9) Gözlemlenebilirlik ve metrikler

İzler: 'trace _ id', saga adımları, dış çağrılar.

Metrikler (SLI):
  • Lag to start, kuyruk (uzunluk, yaş p95).
  • Başarı Oranı, hata oranı, yeniden deneme oranı.
  • Gecikme süresi p50/p95, tamamlama süresi.
  • 1k görev başına maliyet, çıkış/giriş.
  • DLQ oranı, zehir hapı oranı.
SLO (örnek):
  • P0 başlangıç ≤ 60 s, P1 ≤ 5 dk; Başarı ≥ 99. 5%; DLQ ≤ 0. 1%; Tazelik ≤ 30 s p95.

10) Denetim ve kanıtlanabilirlik

Makbuzlar: Başlangıç/başarı/hata için 'receipt _ hash', kritik türler için DSSE imzaları (ödemeler, fiyat listeleri, RTP).
WORM: yürütme günlüklerini ve görev manifestolarını depolamak.
Gözetim zinciri: Programı teslim eden/onaylayan/değiştiren; SoD kontrol ediyor.


11) Güvenlik ve erişim

RBAC/ABAC/ReBAC: yaratan/onaylayan/çalıştıran; SoD: "Ödeme oluştur" ≠ "onayla".
JIT sırları: işçi, sorunun kapsamı üzerinde kısa bir TTL ile belirteçler ister.
İzolasyon: kiracı/bölge/ızgara başına işçi havuzları; sandbox-execution.
PII hijyeni: maskeleme/tokenizasyon, birincil kayıt yasağı.


12) FinOps ve maliyet

Hesaplama/depolama/çıkış için bütçeler/sınır uyarıları.
Kuyruklar ve SLO tarafından Autoscale işçiler.
Depolama sınıfları: sıcak (7-30 gün) - OLAP (6-24 ay) - arşiv.
Maliyet bilincine sahip planlama: "ucuz saatlerde" başlatma penceresi, çıkış sınırları.


13) Veri modeli (basitleştirilmiş)

'schedule' '{id, kiracı, bölge, tz, crontakvim, pencere, etkin, sahip, policy_version}'
'job' {id, schedule_id?, tür, payload_hash, idempotency_key, öncelik, must_start_by, girişimler, durum, receipt_hash}'
'lease' '{job _ id, worker_id, acquired_at, tl}'
'run _ log' '{job _ id, started_at, finished_at, sonuç, trace_id, metrikler {}, makbuzlar []}'
'dlq _ item' '{job _ id, sebep, girişimler, last_error, owner_notified}'

14) API sözleşmeleri (yönetim/entegrasyon)

'POST/schedules' - bir zamanlama oluşturun (cron/cal, tz, windows).
'POST/işler' - ad-hoc koymak; 'job _ id', 'receipt _ hash' döndürün.
'GET/jobs/{ id}' - durum/log/makbuzlar.
'POST/jobs/{ id }/cancel' - tazminat ile iptal et.
'GET/kuyruklar/istatistikler' - uzunluklar, gecikmeler, p95.
Вебхуки: 'JobStarted', 'JobSucceed', 'JobFailed', 'JobDropToDLQ', 'SLOViolated'.


15) Playbook'lar (tipik senaryolar)

Retry-storm: global geri-kapamayı etkinleştir, bağımlılık zaman aşımlarını yükselt, devre kesiciyi etkinleştir, partileri böl.
DLQ çığ: alımı durdurmak, DLQ ayrıştırma öncelik, tampon yeni görevler.
Lider düştü: yeniden seçim, idempotency tarafından "çift yayınların" doğrulanması, denetim.
Hung sağlayıcı (PSP/KYC): rezerv rota, yoklama/webhook sıklığını azaltmak, karantinaya transfer işlemleri.
Sızan işçi sırları: anahtar iptali, rotasyon, 30 gün içinde "anormal" lansmanları arama, haklar incelemesi.


16) iGaming/fintech'in özgüllüğü

Ödemeler/ödemeler: makbuzlarla asenkron işler, "gri" işlemlerin karantinası, veri tekilleştirme ile kuyrukların tekrarı.
RTP pencereleri/sınırları: takvim kapanışı, gözlemlenen vs teorik RTP, sürüklenirken otomatik duraklatma promosyonu.
Fiyat listeleri/FX/Vergi: zamanlanmış yayınlar, artifact sürümleri, önbellek kuvveti sakatlığı.
İştirakler: Dönüşümlerin uzlaştırılması, dedup web kitapları, eylemler/imzalar, emanet anlaşmazlıkları.


17) Kalite metrikleri (örnek set)

Zamanlama Uyumu: Pencerede başlayan görevlerin payı %99 ≥.
Kuyruk Gecikme p95: P0 ≤ 60 c, P1 ≤ 5 dk.
Başarı/Yeniden Deneme/DLQ Oranı: ≥ 99. 5% / ≤ 0. 4% / ≤ 0. 1%.
Idempotency Hataları: ≤ 0. 01%.
Cost/1k işleri ve Çıkış/iş - bütçe dahilinde.
Denetim Bütünlüğü: Makbuzlarla %100 kritik görevler.


18) RACI

AlanRACBEN
Zamanlayıcı mimarisiPlatform/SRECTOVeri, GüvenlikÜrün
Politikalar/SoD/TakvimUyumluluk/IAMCCO/CISOYasal, OpsTüm
Gözlemlenebilirlik/SLOSREEng BaşkanıVeri, FinOpsDestek
Ekonomi/kotalarFinOpsCFO/CTOSRE, ÜrünBU Leads
Kritik oyun kitaplarıIR EkibiCOOOrtaklar, yasalDenetim

19) Uygulama kontrol listesi

  • Görev sınıflarını, öncelikleri ve SLA'ları vurgulayın; Takvimleri ve zaman dilimlerini tanımlayın.
  • Lider Seçme ve Sharding ile Zamanlayıcı/Dispatcher/Kuyruk/İşçiler dağıtın.
  • Idempotency, retrays, DLQ, telafiler (sagas) tanıtmak.
  • Çalışanlar için RBAC/ABAC/ReBAC, SoD ve JIT sırlarını yapılandırın.
  • İzleri/metrikleri/günlükleri, gösterge tablolarını ve uyarıları etkinleştir; SLO и hata bütçesi.
  • İmzalı faturalar (DSSE) ve kritik türler için WORM günlükleri.
  • Otomatik ölçeklendirme ve kapak uyarıları (hesaplama/depolama/çıkış).
  • Playbooks: retry-storm, DLQ çığ, lider hatası, sağlayıcı bozulması.
  • Testler: Oyun kitabı başına GameDay, gecikme/hata enjeksiyonları.
  • Programların düzenli incelemeleri, kuyruk blokajları ve otomasyon ROI'leri.

20) SSS

Cron neden yeterli değil?
Kuyruklar, idempotency, kilitler ve denetim olmadan, cron çökmeler ve zaman dilimleri üzerinde bozulur.

Zamana dayalı ve olay odaklı birleştirilebilir mi?
Evet: cron - yakalamak için sigorta; Olaylar - reaktivite için.

"Tam olarak bir kez" nasıl elde edilir?
Anahtar tekilleştirme, işlem etkileri günlüğü, makbuzlar ve idempotent yan etkiler.

"Uzun" işlerle ne yapmalı?
Yığın, kontrol noktaları, zaman-boks, kesme ve devam yeteneği.

Bütçeyi "yememek" nasıl?
Kuyruklarda ve SLO'larda otomatik ölçeklendirme, ağır işler için ucuz saatler, sert kapaklar çıkış/hesaplama.


Özet: Zamanlayıcı ve arka plan görevleri platformun üretim boru hattıdır. Programları ve kuyrukları, boşlukları, kilitleri ve gözlemlenebilirliği yerleştirerek, makbuzlar/denetimler, kiracı izolasyonu ve FinOps kontrolü ekleyerek, herhangi bir bölgede ve yükte öngörülebilir son tarihler, hızlı kurtarma ve yasal olarak tutarlı işlemler elde edersiniz.

Contact

Bizimle iletişime geçin

Her türlü soru veya destek için bize ulaşın.Size yardımcı olmaya her zaman hazırız!

Entegrasyona başla

Email — zorunlu. Telegram veya WhatsApp — isteğe bağlı.

Adınız zorunlu değil
Email zorunlu değil
Konu zorunlu değil
Mesaj zorunlu değil
Telegram zorunlu değil
@
Telegram belirtirseniz, Email’e ek olarak oradan da yanıt veririz.
WhatsApp zorunlu değil
Format: +ülke kodu ve numara (örneğin, +90XXXXXXXXX).

Butona tıklayarak veri işlemenize onay vermiş olursunuz.