Notlar
Üretimden gelen kısa teknik notlar ve örüntüler.
- 6 bölüm
CQRS: Ne Zaman Gerekli, Ne Zaman Gereksiz Yük?
Okuma ve yazma modellerini ayırmak: CQRS'in karmaşık domain'de kazandırdığı netlik ve basit CRUD'da yarattığı gereksiz yük.
- 6 bölüm
Arşivleme Stratejisi: Eski Veriyi Yavaşlatmadan Ayırma
Canlı tabloyu şişiren eski kayıtları ayırmak: partition'lama, soğuk depolama ve arşivlerken sorgu erişimini koruma yöntemleri.
- ReklamdevrazziGürültüyü geçin, sinyali okuyunYazılımcılar için seçilmiş teknoloji haberleri ve sentezi. İçerik AI agent'ları tarafından üretiliyor; her yazı kaynağına bağlanıyor.
- 7 bölüm
PostgreSQL Kuyruk Tablosunu Canlı Kümeye Göre Kurmak
Kuyruk tablosunda tabloyla büyüyen index ve autovacuum eşiği yanlış ölçeklenir; ikisini bekleyen işlere göre kurmanın ölçülmüş gerekçesi
- 6 bölüm
İndeksler: Eksik Yavaşlatır, Fazlası Yazmayı Öldürür
Eksik indeks sorguyu yavaşlatır, gereğinden fazla indeks her yazma işlemini pahalılaştırır. Doğru dengeyi tahminle değil ölçümle kurmak.
- 4 bölüm
Canlıda Sıfır Kesintiyle Şema Değiştirmek
Production'da kesinti yaratmadan migration almak: geri uyumlu adımlar, çok aşamalı kolon değişiklikleri ve tablo kilitlenmesini önleme.
- 7 bölüm
Read/Write Splitting: Okuma ve Yazma Yükünü Ayırmak
Veritabanını büyütmeden önce: okuma trafiğini replica'lara taşımak, replication lag'in yarattığı tuzaklar ve ne zaman gerçekten gerektiği.
- 6 bölüm
Redis Koymadan Önce: Doğru Cache Stratejisi
Cache eklemeden önce sorulması gereken sorular, cache invalidation'ın neden zor olduğu ve TTL ile tutarlılık arasındaki seçim.
- 6 bölüm
Dış Servis Entegrasyonlarında Circuit Breaker
Kritik bir sistemi dış API'lere bağlarken: timeout, retry ve circuit breaker ile bir servisin çöküşünün tüm sistemi düşürmesini engellemek.
- 7 bölüm
Serverless'a Geçiş Kararı: Cold-Start, Vendor Lock-in
FaaS'a geçmeden önce: cold-start gecikmesinin gerçek maliyeti, vendor lock-in riski ve serverless'ın hangi iş yüklerinde kazandırdığı.
- 6 bölüm
BFF Pattern: Mobil ve Web İçin Ayrı API Katmanı
Mobil ve web için ayrı API katmanları: tek API'yi her istemciye uydurmanın gizli maliyeti ve BFF'in ne zaman gerçekten gerektiği.
- 7 bölüm
Senkron mu Asenkron mu? HTTP ve Kuyruk Arasında Karar
Bir işi HTTP isteğiyle anında mı yapmalı, kuyruğa mı atmalı? Yanıt süresi ve hata toleransı üzerinden karar çizgisi.
- 5 bölüm
Event-Driven Mimari: Ne Çözer, Neyi Gizler?
Event'lerle gevşek bağ kurmanın bedeli: kazandırdığı esneklik ile sistem akışını takip edilemez hale getirme riski arasındaki denge.
- 5 bölüm
Dead-Letter Kuyruğunu Daha Kötü Yapmadan Replay Etmek
Naif replay kuyruğu yeniden zehirler ya da yan etkileri ikinci kez tetikler. Güvenli şekil: reset, dry-run, önce sandbox, select.
- 4 bölüm
Şemayı Kuyruğun Kenarında Doğrulamak
Bir mesajın data'sı, kuyruğun kontrol etmediği tipsiz bir sözleşmedir. Kenarda doğrula: üretici yayınlamadan önce, tüketici güvenlik ağı olarak.
- 7 bölüm
Idempotency: Aynı Mesaj İki Kez Geldiğinde
At-least-once teslimat, bir handler'ın aynı mesajı iki kez göreceği anlamına gelir. Idempotency anahtarı, nereden geldiği ve çökmeden sağ çıkan dedupe.
- 5 bölüm
Shared Redis Kullanırken Namespace İzolasyonu
Tek bir Redis instance birden çok proje arasında paylaşılırken key collision ve yanlışlıkla silme kazalarından korunmak için kullandığım örüntü.
- 6 bölüm
pgBackRest ile PostgreSQL Backup Stratejisi
pg_dump tek başına yedek değil. pgBackRest ile PITR destekli, sıkıştırılmış, doğrulanabilir yedek mimarisi.
- 6 bölüm
Laravel Queue Production'da Neden Yavaşlar?
Laravel queue worker'ları yerelde mükemmel, production'da yavaş. Geliştiricilerin gözden kaçırdığı en yaygın beş neden.
- 6 bölüm
Nginx + PHP-FPM Pool Ayrımı
Aynı VPS üzerinde birden fazla PHP uygulaması çalıştırırken, tek bir PHP-FPM pool yerine uygulama başına ayrı pool tanımlamanın somut faydaları.
- 6 bölüm
pgBouncer auth_query ile Çoklu DB Kullanıcısı
pgBouncer kullanırken `userlist.txt` yerine `auth_query` ile dinamik kullanıcı doğrulamasının pratik yapılandırması.