Üretimdeki distributed sistemlerden notlar.
Yüksek trafikli, polyglot platformlar kurmak ve işletmekten saha notları — Kubernetes, AWS, incident yönetimi, iGaming ölçeği.
Redis Cache Invalidation: Pratikten 4 Pattern
Cache invalidation "computer science'in iki zor şeyinden biri" diye geçer. Doğru — ama nedeni gizemli değil, sadece her sistemin kendi şartı için doğru pattern'i seçmek lazım. iGaming üretimden 4 saha pattern'i.
Sıfır Kesintili Veritabanı Geçişleri: Expand-Contract Pattern'i
DB schema değişiklikleri, çoğu sistemin en korkulan deploy'larıdır. Doğru yaklaşımla sıfır downtime mümkün — yıllarca üretimde uyguladığım expand-contract pattern'i ve adım adım çalışma planı.
Background Job Sistemleri: Idempotency, Retry ve DLQ
Asenkron iş kuyrukları üretimin sessiz omurgasıdır. Doğru kurmazsan duplicate işlemler, kayıp mesajlar ve tutarsız veri çıkarır. Üretimde bizi koruyan 3 temel pattern.
WebSocket'i Ölçekte Yönetmek: Bağlantı, State, Broadcast
Bir HTTP API'yi 10 binlerce kullanıcıya ölçeklemek görece kolay. Aynı sayıda kullanıcının WebSocket bağlantısını yönetmek bambaşka bir oyun. Multiplayer üretiminden 4 yıllık deneyim.
Redis Pub/Sub mu, RabbitMQ mı? Hangisi Ne Zaman
Her ikisini yıllardır aynı sistemde kullanıyorum. Hangisinin neden seçildiğini, ne zaman yanlış seçimin maliyetini ödediğimi ve karar verirken sorulacak 4 soruyu paylaşıyorum.
Polyglot Mimari: Java + .NET + Python Aynı Platformda Nasıl Yaşar?
Üretim ortamında 20+ microservice; bazıları Java/Spring, bazıları .NET Core, bazıları Python. Farklı dillerin yanyana yaşaması mümkün mü, ne zaman gerekli, ne zaman pişmanlık getirir?
MySQL + MongoDB Aynı Anda: Polyglot Persistence'in Gerçek Maliyeti
Oyun platformumuzda MySQL ve MongoDB birlikte çalışıyor. İkisini aynı sistemde kullanmanın getirdiği avantajlar, sürpriz maliyetler ve bu karardan önce sorulacak 4 soru.