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.

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
10.000+ Eşzamanlı Kullanıcı: Kubernetes'te Trafik Dalgalarını Yönetmek
kubernetesdistributed systems

10.000+ Eşzamanlı Kullanıcı: Kubernetes'te Trafik Dalgalarını Yönetmek

Multiplayer bir oyun platformunda 10.000+ eşzamanlı oyuncuyu taşıyan backend için Kubernetes otomatik ölçekleme pratiği — HPA, özel metrikler, pod priorities ve trafik patlamalarına dayanmanın gerçek pratik notları.

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
Istio Service Mesh: Pratikte Ne İşe Yarar, Ne Yaramaz
kubernetesdistributed systems

Istio Service Mesh: Pratikte Ne İşe Yarar, Ne Yaramaz

2023 Kubernetes migrationı sırasında Istio'yu üretim yüküne aldık. Gerçekten değer yaratan özellikleri ile satılan ama pratikte kullanmadığımız özellikleri ayırıyorum — bir yıllık saha deneyimi.

3 dk
Production Incident: İlk 15 Dakika Kritik
productiondistributed systems

Production Incident: İlk 15 Dakika Kritik

Bir production sisteminin çöktüğü ilk 15 dakika, incident'ın sonraki saatlerini belirler. iGaming platformundaki deneyimimden bir saha playbook'u — ne yapılmalı, ne yapılmamalı, hangi aletlerle.

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
Observability Temelleri: Log, Metric, Trace Hangisi Neye Yarar
productiondistributed systems

Observability Temelleri: Log, Metric, Trace Hangisi Neye Yarar

Observability'nin 3 ayağı: log, metric, trace. Hangisini ne zaman kullanacağını, birini diğerinin yerine koymanın getirdiği dertleri ve gerçek incident örneklerini anlatıyorum.

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