Teknoloji ve Altyapı - Sunucusuz yaklaşım ve özellikler
Sunucusuz yaklaşım ve fonksiyonlar
1) Sunucusuz nedir ve ne zaman gereklidir
Sunucusuz, bulutun sunucu yönetimini, ölçeklendirmeyi ve yamaları devraldığı ve ekibin olay işleyicileri yazdığı ve FaaS (Hizmet Olarak İşlevler) ve BaaS (yönetilen hizmetler: kuyruklar, veritabanları, depolama) kullandığı bir modeldir. Teslimat hızında kazanırsınız, gerçek yürütme için ödeme yaparsınız ve efervesan yükleri kolayca ölçeklendirirsiniz.
Özellikle iGaming/fintech'te yararlı olduğu durumlarda:- PSP/KYC web kitapları (birçok kısa sorgu, öngörülemeyen zirveler).
- Antifraud/puanlama (olay fonksiyonları, zenginleştirme, özellik deposu).
- Raporlama/CDC - DWH (toplu ve akış).
- Pazarlama/CRM (tetikleyici olaylar, kabartmalar, kuponlar, segmentasyon).
- Hafif arka uç API'leri ve yardımcı görevler (kısma, cron işlevleri).
- Sabit düşük P99 gecikme süresi (10ms'nin altında) tereddüt etmeden gereklidir.
- Uzun ömürlü bağlantılar/protokoller (proxy olmadan yüksek frekanslı gerçek zamanlı).
- Uzun CPU/GPU ve sıkı bağlantı ile büyük, durumsal bilgi işlem.
2) Mimari tuğlalar
2. 1 FaaS
Olay işleyicileri: HTTP/API ağ geçidi, kuyruklar, akışlar, zamanlayıcılar, nesne depolama, veritabanı tetikleyicileri.
İnce başlangıç/paketleme: katmanlar/görüntü fonksiyonları, ısınma.
2. 2 BaaS ve entegrasyonlar
Kuyruklar/akış (en az bir kez), etki alanı etkinlikleri için Pub/Sub.
Depolar: nesne (hammadde/eserler), KV/önbellek, belgeler/ilişkisel.
Orkestrasyon: durum makineleri/adım fonksiyonları, destanlar ve telafiler.
API ağ geçidi: kimlik doğrulama (OAuth/OIDC/HMAC), sınırlar, dönüşümler.
2. 3 Ağ devresi
Public front (edge/API gateway) + VPC'de private functions to access database/secrets/PSP.
Çıkış kontrolü: listeyi PSP/KYC'ye izin ver, sabit NAT-IP.
3) Performans: soğuk başlangıç, rekabet gücü, süre
Soğuk başlangıç: Arıza süresinden sonra işlev konteynerinin ilk başlangıcı.
Hafifletme: Bağımlılıkları en aza indirin, "ısınma" (periyodik çağırma) kullanın, işlevleri kaynaklarla aynı bölgede tutun, uzun zaman aşımları dikkatli bir şekilde uygulayın.
Rekabetçilik: PSP/DB'yi "taşırmamak" için 'max _ concurrency've kaynak limitlerini (queues/gateway) ayarlayın.
Yürütme süresi: uzun görevler için - adımlara parçalanma + orkestrasyon (adım işlevleri), ağır hesaplamalar için - toplu iş/kaplar.
4) Sağlamlık: idempotency, geri çekilmeler, DLQ
Idempotency: Resepsiyonda 'Idempotency-Key'/veri tekilleştirme (anahtar + TTL depolama).
Retrai: üstel backoff + jitter, sınırları deneyin; İş hatalarını (4xx) geçici hatalardan (5xx/timeout) ayırın.
DLQ (dead-letter queue): N denemesinden sonra geçmeyen iletiler için; Konsolu tekrar oynatın ve izleme gerekli.
Tam olarak bir kez: giden kutusu/gelen kutusu şablonları, işlem olay günlüğü.
5) Durum ve orkestrasyon
Fonksiyonda devlet yok, harici mağazalarda devlet.
Devlet makineleri: ödeme/çıktı adımları, KYC-iş akışı, sahtekarlık karşıtı kontroller; açık hata/telafi modeli.
Sagas: Geri çekilirken "reserve - confirm - compensate".
6) Güvenlik ve uyumluluk
En az ayrıcalık ilkesine göre IAM: işlev başına roller, kuyruk/kovalar/tablolar üzerinde kapsam.
Sırlar: gizli yönetici/KMS, rotasyon, anahtarlar için HSM seviyesi.
Web kitapları için mTLS/HMAC, vücut imzası, zaman penceresi ± 5 dk.
API ağ geçidinde yerleşik WAF/bot koruması, oran limitleri/kotalar.
Segmentasyon: prod/stage, servis hesapları, özel alt kümeler.
PII/PCI: PAN tokenization, log maskeleme, "veri minimizasyonu".
Denetim: değişmez günlükler (WORM), çağrı izleme, düzenleyici depolama.
7) Gözlemlenebilirlik ve kalite kontrolü
Metrikler: RPS, P50/P95/P99, kod hataları, süre, soğuk başlangıçlar, yeniden ödeme boru hattı, DLQ boyutu.
OTel: trace _ id ağ geçidinden korelasyon - kuyruk fonksiyonu - DB/PSP; Zorunlu etiketler 'api _ version', 'region', 'partner'.
Günlükler: yapılandırılmış, PII maskeleme ile.
Belirtiler için uyarı: yanma oranı SLO, retray büyüme, P99 kuyruk.
Sentetikler: Hedef ülkelerden gelen kontroller (TR/BR/EU), web kitaplarının taklit edilmesi.
8) FinOps ve maliyet
Aramalar ve milisaniyeler için "öde". "İzleme: başlatma sıklığı, süresi, bellek, trafik.
Profil sıcak yolları: katman/görüntü, önbellek bağlantıları ağır bağımlılıkları getirmek.
Sınırlamalar ve butching ile fan çıkışını (büyük paralel çağrılar) sınırlayın.
"Sızıntıları" tanıyın: sonsuz retrays, işleme olmadan DLQ mesajlar.
Zirve pencerelerini planlayın (turnuvalar/etkinlikler) - tahmini ısınma ve kotalar.
9) CI/CD ve sürüm oluşturma
IaC: Terraform/CloudFormation/SAM/CDK - işlev şablonları, kuyruklar, haklar, ağ geçitleri.
Ambalaj: kilit bağımlılık dosyaları, minimal görüntü/katmanlar.
Test: sözleşme testleri (OpenAPI/gRPC), yerel çalışma zamanı ile entegrasyon, idempotency testleri.
Dağıtım: kanarya/mavi-yeşil, özellik bayrakları, hızlı geri dönüş.
API sürüm oluşturma:'/vN/' veya ortam türleri; Kullanımdan kaldırma/Günbatımı ve olay şeması uyumluluğu.
10) iGaming/fintech için desenler
Ödeme/para çekme webhooks: imza kabulü - doğrulama - idempotence - ödeme olayının yayınlanması. Güncellendi '- cüzdan/rapor güncellemelerinin düzenlenmesi.
Antifrod puanlama: zenginleştirici fonksiyon (IP/cihaz/jeo/geçmiş), asenkron çözüm, zaman aşımları ve geri dönüş stratejileri.
KYC/AML boru hattı: paralel kontroller (belgeler, yaptırımlar, PEP), sonuçların toplanması, tekrarlanan talepler için destanlar.
Turnuvalar/reytingler: turların etkinlikleri - akış toplama - lider tablolarının güncellenmesi, okumak için TTL önbelleği.
Düzenleyicilere raporlama: CDC - dönüşümün işlevleri - DWH'de vitrinler, veri tazeliği için SLA.
Pazarlama/CRM: davranış tetikleyicileri - kuponlar/kabartmalar, veri tekilleştirme ve kullanıcı sınırları.
11) Örnek parçaları
11. 1 Idempotent webhook alımı (pseudocode)
python def handler(event):
assert verify_hmac(event. headers, event. body, secret)
key = f"idemp:{event. headers['Idempotency-Key']}"
if kv. exists(key):
return kv. get (key) # repeat - give the same result result = process (event. body) # public event, state record kv. set(key, result, ttl=86400)
return result
11. 2 Çekilme orkestrasyonu (devlet makinesi, fikir)
1. 'validate _ request' - 2) 'lock _ balance' - 3) 'call _ psp' (retras ile)
2. 'await _ webhook' (zaman aşımı - tazminat) - 5) 'sonuçlandırmak/bildirmek'.
12) Sunucusuz uygulama kontrol listesi
1. Olayların kaynakları ve sözleşme düzenlemeleri (şemalar/versiyonlar) tanımlanır.
2. Rekabet sınırları ve "dikkatli" geri çekilmeler ayarlandı, DLQ ve tekrar oynatma var.
3. Özel ağlar/VPC, çıkış-izin-listesi, PSP'ye sabit IP dahildir.
4. En az ayrıcalık ilkesiyle IAM, KMS/Secret Manager'da sırlar.
5. Gözlemlenebilirlik: OTel izleme, P99 gösterge panoları/hatalar/soğuk başlangıçlar.
6. FinOps: bütçeler, maliyet uyarıları, süre/hafıza kontrolü.
7. CI/CD: kanarya/mavi-yeşil, sözleşmelerin ototestleri/idempotences.
8. Dokümantasyon: DevPortal/Postman koleksiyonları, yük örnekleri, Amortisman/Günbatımı.
13) Anti-desenler
"Kalın", bir grup bağımlılıkla çalışır - yavaş soğuk başlar.
Web kitaplarının idempotency ve imza eksikliği - kopyalar/dolandırıcılık.
Sınırsız fan çıkışı - rekabet fırtınası, sağlayıcıda kısma.
İzleme/uyarılar olmadan zamanlayıcılarda/kronlarda mantık - "sessiz" SLA arızaları.
Şifreleme olmadan ortam değişkenlerinde üretim sırlarının karıştırılması.
Schema Registry ve uyumluluk kuralları olmayan olay sözleşmeleri.
14) Alt satır
Sunucusuz bir bulut olayı işletim sistemidir: iş mantığına odaklanırsınız ve ölçeklendirme ve altyapı "talep üzerine'dir. "FaaS + yönetilen hizmetleri birleştirin, idempotency, orkestrasyon ve gözlemlenebilirlik, disiplin maliyeti ekleyin - ve zirvelere dayanabilecek, hızlı bir şekilde gelişebilecek ve ekonomik kalabilecek bir platform elde edin.