Backend ve sistem mühendisliği üzerine bir not defteri.
Her yazının iskeleti
- 01Durum
- 02Kısıt
- 03Yaklaşım
- 04Tuzaklar
- 05Geçerlilik
Son yazılar41
Notlar, sistem yazıları ve günlük — tek akışta, tarih sırasıyla.
- Note6 bölüm
İndeks Yönetimi: 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.
- Note4 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.
- 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.
- Note7 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.
- Note6 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.
- Journal5 bölüm
NoSQL Tuzağı: "Şeması Yok" Diye Başlamak
Şemasız başlamanın verdiği rahatlıkla NoSQL'e geçen projelerin er geç çarptığı tutarlılık ve veri bütünlüğü krizleri.
- Journal4 bölüm
PostgreSQL Her Şeye Yeter mi?
Ayrı arama motoru, kuyruk veya doküman DB'si eklemeden önce: PostgreSQL'in tek başına nereye kadar yettiği ve sınırının nerede başladığı.
- Journal4 bölüm
Bir Sistemin "Gereğinden Karmaşık" Olduğunu Gösteren Sinyaller
Kodun veya mimarinin gereksiz karmaşıklaştığını ele veren somut kırmızı çizgiler — ve sadeleştirmeye nereden başlanacağı.
- Note6 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.
- Note7 bölüm
Serverless'a Geçiş Kararı: Cold-Start ve 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ığı.
- Note6 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.
- Note7 bölüm
Senkron mu, Asenkron mu? HTTP ile Kuyruk Arasındaki Sınır
Bir işi HTTP isteğiyle anında mı yapmalı, kuyruğa mı atmalı? Yanıt süresi ve hata toleransı üzerinden karar çizgisi.
- System10 bölüm
Transactional Outbox: Dual-Write, At-Least-Once ve İdempotent Tüketim
Veritabanına yazıp event'i kuyruğa düşürememe: dual-write'ı outbox'la kapatmak, doğan at-least-once tekrarını idempotent tüketimle bastırmak ve alanı şifrelemek.
- Note5 bölüm
Event-Driven Mimari: Ne Zaman Kurtarır, Ne Zaman Karmaşıklaştırır?
Event'lerle gevşek bağ kurmanın bedeli: kazandırdığı esneklik ile sistem akışını takip edilemez hale getirme riski arasındaki denge.
- System6 bölüm
Çok Kümeli GitOps’ta Sıfır Statik Yetki
Uzun ömürlü kubeconfig ya da token olmadan çok kümeli GitOps. SPIFFE ID’ler, SPIRE’ın bastığı kısa ömürlü SVID’ler, trust-domain federasyonu — kurma sırası ve her adımın maliyeti.
- System7 bölüm
eBPF ile GPU FinOps
GPU harcaması neden cgroup ve cAdvisor metriklerine görünmez ve eBPF chargeback için GPU zamanını ve belleğini ekiplere nasıl atfeder — ve CUDA sınırındaki, DCGM’in kapatması gereken dürüst limit.
- Note5 bölüm
Dead-Letter Kuyruğunu Daha Kötü Yapmadan Replay Etmek
Kesinti sırasında DLQ doldu, geri istiyorsun. Naif replay kuyruğu yeniden zehirler ya da yan etkileri ikinci kez tetikler. Güvenli şekil: reset, dry-run, önce sandbox, select.
- System5 bölüm
Polyglot Bir Kuyrukta Dağıtık İzleme
Bir mesaj PHP, Go ve Python arasında donmuş bir envelope üzerinden geçiyor. Yolculuğunu tek bir OpenTelemetry trace’ine çevirmek — yeni alan ve çekirdek bağımlılığı olmadan — ve dürüst sınırı.
- Note4 bölüm
Şemayı Kuyruğun Kenarında Doğrulamak
Bir mesajın data'sı, kuyruğun kontrol etmeyeceği tipsiz bir sözleşmedir. Onu kenarda doğrula — üretici tarafında yayınlamadan önce, tüketici tarafında güvenlik ağı olarak.
- Journal4 bölüm
Mimari Kararların Çürüyor Çünkü Onları Hiçbir Şey Çalıştırmıyor
Bir wiki'ye yazılmış mimari karar bir dilektir. Zorlayamadığın sınırlar sessizce aşınır — diyagram kodla örtüşmeyi bırakana dek. Kuralı çalıştırılabilir yap.
- Note7 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.
Ayrıca
Yazılım üzerine ana blogum
sade.dev mimari kararların ve üretim derslerinin defteri. Yazılımın geri kalanı — dil, araç, pratik, ekip — ana blogda.