#architecture

27 içerik: Journal, Note, System.

← Tüm etiketler

  1. 5 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.

  2. 4 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ığı.

  3. devrazziGü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.
  4. 4 bölüm

    Gereğinden Karmaşık Bir Sistemin Verdiği Sinyaller

    Kodun veya mimarinin gereksiz karmaşıklaştığını ele veren somut kırmızı çizgiler — ve sadeleştirmeye nereden başlanacağı.

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

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

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

  8. 7 bölüm

    Senkron mu Asenkron mu? HTTP ve 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.

  9. 10 bölüm

    Transactional Outbox: Dual-Write, İdempotent Tüketim

    Dual-write'ı outbox'la kapatmak, doğan at-least-once tekrarını idempotent tüketimle bastırmak, event'in içindeki kişisel veriyi alanda şifrelemek.

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

  11. 6 bölüm

    Çok Kümeli GitOps’ta Sıfır Statik Yetki

    Uzun ömürlü kubeconfig olmadan çok kümeli GitOps: SPIFFE kimlikleri, SPIRE'ın bastığı kısa ömürlü SVID'ler — kurma sırası ve her adımın maliyeti.

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

  13. 5 bölüm

    Polyglot Bir Kuyrukta Dağıtık İzleme

    Donmuş bir envelope üzerinden PHP, Go ve Python'a geçen bir mesajı tek bir OpenTelemetry trace'ine çevirmek — yeni alan, yeni bağımlılık yok.

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

  15. 4 bölüm

    Mimari Kararlar Çürür Çünkü Onları Kimse Çalıştırmaz

    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.

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

  17. 5 bölüm

    Şema Evrimi: Sözleşmeyi Kırmadan Değiştirmek

    Servisler arası bir sözleşmeyi atomik değiştiremezsin. Kural: additive güvenli, kırıcı değişiklik yeni bir kimlik ister — ve önce tüketiciler yükseltir

  18. 5 bölüm

    Katmanlı Mimari mi, Clean Architecture mı?

    Klasik katmanlı yapı çoğu projeye yeterken neden soyutlama katmanlarında boğuluyoruz; Clean Architecture gerçekten ne zaman değer katar?

  19. 4 bölüm

    Vibe Coding ile Production'a Çıkılır mı?

    Vibe coding ilk sürümün maliyetini düşürür, yanlış olmanın maliyetini değil. O fatura build'de değil, production'da çıkar.

  20. 5 bölüm

    "İleride Lazım Olur" Kodunun Production Faturası

    YAGNI'yi pratikte uygulamak: bugün gerekmeyen esnekliği eklemenin bakım, okunabilirlik ve hata yüzeyi olarak geri ödenen bedeli.

  21. 10 bölüm

    Ardışık Numara Üretiminde Race Condition ve Gap

    Yasal olarak ardışık ve boşluksuz numaraları paralel worker'larla üretmek: race condition ile gap'i birlikte çözen JIT rezervasyon kalıbı.

  22. 5 bölüm

    Mikroservise Ne Zaman Geçerim?

    Monolitten dağıtık mimariye geçişi haklı çıkaran ölçülmüş sinyaller — ve geçiş için henüz erken olduğunu söyleyen yaygın yanlış gerekçeler.

  23. 5 bölüm

    Projelere Neden Modüler Monolit ile Başlıyorum?

    Mikroservislere atlamadan önce tek deploy edilebilir bir uygulamada net modül sınırları kurmanın gerekçesi — ve bu kararı ne zaman bıraktığım.

  24. 9 bölüm

    Veri Yoğunluklu Sistemlerde Ölçek Kırılma Noktaları

    Veri yükü arttıkça boring mimari nerede kırılır? Working set, read replica, partitioning, yazma yükü, ayrı veri katmanı — sırayla ve maliyetleriyle.

  25. 7 bölüm

    Neden Boring Architecture'ı Tercih Ediyorum

    Yeni teknoloji peşinde koşmak yerine kanıtlanmış araçları seçmenin pragmatik gerekçesi. Bu bir korkaklık değil, bir bütçe kararı.

  26. 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ü.

  27. 11 bölüm

    Tek VPS Üzerinde Çoklu Proje Mimarisi

    Bir VPS, birden çok bağımsız uygulama. Kubernetes yerine bilinçli minimalizm: kullanıcı izolasyonu, ayrı PHP-FPM pool, paylaşılan PostgreSQL/Redis.

  28. 13 bölüm

    Laravel Production Stack: Her Bileşen Neden Orada?

    Nginx + PHP-FPM + Redis + PostgreSQL + Supervisor + Horizon ile production-grade bir Laravel kurulumu. Her bileşenin işi ve değiştirildiğinde ne kaybedileceği.

Ara

Yazmaya başlayın. Notlar, sistem yazıları, günlük, araçlar ve sayfalar.

gezesckapat