tolgacelik.net
Yazı

Ü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
backendproduction

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.

3 dk
Sıfır Kesintili Veritabanı Geçişleri: Expand-Contract Pattern'i
backendproduction

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ı.

3 dk
Background Job Sistemleri: Idempotency, Retry ve DLQ
backenddistributed systems

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.

3 dk
WebSocket'i Ölçekte Yönetmek: Bağlantı, State, Broadcast
backenddistributed systems

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.

3 dk
Redis Pub/Sub mu, RabbitMQ mı? Hangisi Ne Zaman
backenddistributed systems

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.

3 dk
Polyglot Mimari: Java + .NET + Python Aynı Platformda Nasıl Yaşar?
distributed systemsbackend

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?

3 dk
MySQL + MongoDB Aynı Anda: Polyglot Persistence'in Gerçek Maliyeti
backenddistributed systems

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.

3 dk