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
Feature Flag'ler: Üretimde Gerçek Pratik
yazilim gelistirmeproduction

Feature Flag'ler: Üretimde Gerçek Pratik

Feature flag'ler kulağa basit gelir — "on/off switch". Pratikte yanlış kullanılırsa kod tabanını yıllık zombi kodla doldurur. 6 yıllık üretim deneyiminden ne işe yararlar, ne yaramazlar.

3 dk
Code Review Kültürü: Bir Ekibi Yapan ya da Yıkan Pratik
yazilim gelistirmekariyer

Code Review Kültürü: Bir Ekibi Yapan ya da Yıkan Pratik

Code review iyi yapılırsa ekibin standartlarını yükseltir, kötü yapılırsa motivasyonu öldürür. 13 yıllık deneyimimden review'da gerçekten önemli olanlar.

3 dk
Engineering On-Call: Hayatta Kalmak ve Geliştirmek
productionkariyer

Engineering On-Call: Hayatta Kalmak ve Geliştirmek

On-call rotasyonu yazılım ekiplerinin en sevilmeyen ve en değerli pratiği. Doğru kurulmadığında ekibi tüketir; doğru kurulduğunda en güçlü mühendislik pratiklerinden biri olur. iGaming on-call'ından 6 yıllık ders.

3 dk
Yazılımda Tahmin Neden Zor — Ve Daha İyi Nasıl Yapılır
yazilim gelistirmekariyer

Yazılımda Tahmin Neden Zor — Ve Daha İyi Nasıl Yapılır

Yazılım tahminleri sürekli yanlış çıkar. Sebep yetenek değil, problemin doğası. "Cone of uncertainty" kavramı ve üretimde kullandığım pratik tahmin disiplini.

3 dk
Burnout ve Sürdürülebilir Yazılım Kariyeri
kariyer

Burnout ve Sürdürülebilir Yazılım Kariyeri

13 yıllık yazılım kariyerimde burnout'un kıyısından döndüğüm anlar oldu. Erken sinyaller, sınır çizmenin pratik yolları, recovery'nin tatil olmadığı gerçeği — açıklıkla.

3 dk
Yapay Zeka Yazılım Geliştirmeyi Nasıl Dönüştürdü — Olumlu Tarafından
yapay zekayazilim gelistirme

Yapay Zeka Yazılım Geliştirmeyi Nasıl Dönüştürdü — Olumlu Tarafından

Cursor ve Claude Code'la yaklaşık 5× daha hızlı yazılım üretmeye başladım. Gerçek üretimde ne değişti, hangi yetenekler önemsizleşti, hangileri değerlendi — bir senior developer'ın saha raporu.

2 dk
Legacy Kod ile Çalışmak: Yeniden Yazma Tuzağına Düşmemek
yazilim gelistirmekariyer

Legacy Kod ile Çalışmak: Yeniden Yazma Tuzağına Düşmemek

Her senior engineer kariyerinde defalarca legacy kodla yüzleşir. "Yeniden yazalım" cazip ama tehlikeli. Strangler fig, test-before-refactor, küçük adımlarla evrim — yıllarca deneyimden ders.

4 dk
On-prem'den AWS + Kubernetes'e: 20+ microservice'lik bir iGaming platformunun geçişi

On-prem'den AWS + Kubernetes'e: 20+ microservice'lik bir iGaming platformunun geçişi

10.000+ eşzamanlı oyuncuya hizmet veren platformun 2023 yeniden inşasından notlar — polyglot stack, Istio mesh ve gerçekten işe yarayan kararlar.

3 dk