Mühendislik
Sözlük
Yazılarda geçen terimlerin kısa tanımları. Her tanım, terimi asıl işleyen yazılara bağlı. (30 terim)
- Alarm yorgunluğu
-
Her şeye alarm kurmanın bedeli: ekip alarmlara güvenmeyi bırakır ve gerçek olanı da görmez. Bir alarm, gecenin üçünde birini uyandırmayı hak edecek kadar aksiyon gerektirmiyorsa alarm değil, gürültüdür.
- At-least-once
-
Bir mesajın en az bir kez teslim edileceği, ama bazen birden çok kez geleceği garantisi. Kayıp yoktur, tekrar vardır. Kuyruklu sistemlerin pratikteki varsayılanı budur; çözüm tekrarı engellemek değil, tüketiciyi tekrara dayanıklı kılmaktır.
İlgili yazılar: Transactional Outbox: Dual-Write, İdempotent Tüketim Idempotency: Aynı Mesaj İki Kez Geldiğinde Dead-Letter Kuyruğunu Daha Kötü Yapmadan Replay Etmek
- BFF (Backend for Frontend)
-
Her istemci tipi için — mobil, web — ayrı bir API katmanı. Tek bir genel amaçlı API'yi her istemcinin ihtiyacına göre şişirmek yerine, her istemcinin kendi şekline uygun ince bir katman koyar.
İlgili yazılar: BFF Pattern: Mobil ve Web İçin Ayrı API Katmanı
- Blue-green deployment
-
İki özdeş üretim ortamı; bir an için yalnızca biri canlı. Yeni sürüm boştakine kurulur, sağlık kontrolünden geçirilir, sonra trafik tek hamlede ona çevrilir. Eski ortam yok edilmez — geri dönüş hedefi olarak sıcak bekler.
- Boring architecture
-
Yeni ve ilginç olanı değil, kanıtlanmış ve anlaşılır olanı seçme tercihi. Amaç heyecan değil, gece üçte kimsenin sürprizle karşılaşmaması; karmaşıklık ancak somut bir problem onu zorunlu kıldığında eklenir.
İlgili yazılar: Neden Boring Architecture'ı Tercih Ediyorum Gereğinden Karmaşık Bir Sistemin Verdiği Sinyaller
- Canary release
-
Yeni sürüme önce trafiğin küçük bir dilimini vermek, hata oranı ve gecikmeyi izlemek, sorun yoksa dilimi büyütmek. Risk tüm kullanıcıya değil küçük bir gruba taşınır; blue-green'in kademeli kardeşi.
- Circuit breaker
-
Bir dış servis sürekli hata vermeye başladığında ona gitmeyi geçici olarak kesen, belirli aralıklarla tekrar deneyen kalıp. Düşen bir bağımlılığın çağıran sistemi de aşağı çekmesini engeller.
İlgili yazılar: Dış Servis Entegrasyonlarında Circuit Breaker Senkron mu Asenkron mu? HTTP ve Kuyruk Arasında Karar
- Connection pooling
-
Veritabanı bağlantılarını her istekte açıp kapatmak yerine havuzda tutup yeniden kullanmak. PHP-FPM gibi per-request modellerde bağlantı kurulum maliyeti kümülatifte ciddidir; pgBouncer'ın `transaction` modu bunu önde absorbe eder.
İlgili yazılar: pgBouncer auth_query ile Çoklu DB Kullanıcısı Laravel Production Stack: Her Bileşen Neden Orada?
- CQRS
-
Okuma ve yazma modellerini ayırmak (Command Query Responsibility Segregation). Okuma ile yazmanın gerçekten farklı şekiller istediği yerde kazandırır; tek bir modelin yettiği yerde iki model ve aralarındaki senkronizasyon yükü kalır.
İlgili yazılar: CQRS: Ne Zaman Gerekli, Ne Zaman Gereksiz Yük? Event-Driven Mimari: Ne Çözer, Neyi Gizler?
- Dağıtık trace
-
Bir isteğin ya da mesajın servisler boyunca yolculuğunun, her adımın zamanlamasıyla birlikte tek bir bağlı resim hâline getirilmesi. Log'lardaki korelasyon kimliği bir iğnedir; trace samanlığın kendisini haritalar.
İlgili yazılar: Polyglot Bir Kuyrukta Dağıtık İzleme
- Dead-letter queue (DLQ)
-
Retry bütçesini tüketip başarısız olan mesajların düştüğü kuyruk. Bir mezarlık değil bekleme alanıdır — ama oradan çıkarmak yüklü bir operasyondur: naif bir replay kuyruğu yeniden zehirler ya da yan etkileri ikinci kez tetikler.
İlgili yazılar: Dead-Letter Kuyruğunu Daha Kötü Yapmadan Replay Etmek Idempotency: Aynı Mesaj İki Kez Geldiğinde
- Dual-write
-
Bir işlemde iki ayrı sisteme yazmak — örneğin veritabanına `INSERT` ve broker'a `publish`. Yerel transaction broker'ı kapsamadığı için aralarında hiçbir atomiklik garantisi yoktur: ya kayıp event ya hayalet event üretir.
İlgili yazılar: Transactional Outbox: Dual-Write, İdempotent Tüketim Ardışık Numara Üretiminde Race Condition ve Gap
- Event-driven mimari
-
Bileşenlerin birbirini doğrudan çağırmak yerine olay yayınlayıp dinlemesi. Gevşek bağ ve bağımsız ölçeklenme kazandırır; karşılığında sıra, tekrar ve nihai tutarlılık problemlerini üstlenirsiniz.
İlgili yazılar: Event-Driven Mimari: Ne Çözer, Neyi Gizler? Senkron mu Asenkron mu? HTTP ve Kuyruk Arasında Karar
- Exactly-once effect
-
Teslimin değil, etkinin tam bir kez olması. Dağıtık bir sistemde exactly-once teslim uçtan uca garanti edilemez — "işledim" ile "işlediğimi bildirdim" iki ayrı adımdır ve aralarına çökme girebilir. Hedef, tekrarı zararsız kılmaktır.
İlgili yazılar: Transactional Outbox: Dual-Write, İdempotent Tüketim Idempotency: Aynı Mesaj İki Kez Geldiğinde
- Expand–contract
-
Tehlikeli bir şema değişikliğini, her biri tek başına güvenli ve geri uyumlu üç adıma bölmek: genişlet (yeniyi ekle), geçiş (veriyi taşı, okumayı çevir), daralt (eskiyi sil). Hiçbir ara adımda çalışan kod şema ile uyumsuz kalmaz.
İlgili yazılar: Canlıda Sıfır Kesintiyle Şema Değiştirmek Şema Evrimi: Sözleşmeyi Kırmadan Değiştirmek
- Feature flag
-
Kodu canlıya almakla özelliği açmayı birbirinden ayıran anahtar. Deploy ile yayın aynı an olmaktan çıkar: özellik kapalı çıkar, kademeli açılır, sorun çıkarsa deploy geri alınmadan kapatılır.
- Golden signals
-
Bir servisin sağlığını dört ölçüyle anlatan set: gecikme, trafik, hata ve doygunluk. Yüzlerce metrik toplamak yerine bu dördünü doğru kurmak, çoğu üretim probleminin ilk sinyalini verir.
- Graceful shutdown
-
Bir process'in kapanma sinyalini alınca yeni iş almayı bırakıp elindekini bitirmesi. Olmadığında deploy ya da ölçek değişimi, yarım kalmış istekler ve yarım işlenmiş mesajlar bırakır.
- Idempotency
-
Aynı işlemin iki kez çalıştırılmasının bir kez çalıştırılmasıyla aynı sonucu vermesi. Kuyruk tarafında bunu, işlenen her mesajın kimliğini bir dedupe kaydına yazıp asıl işi aynı transaction içinde yaparak alırsınız.
İlgili yazılar: Idempotency: Aynı Mesaj İki Kez Geldiğinde Transactional Outbox: Dual-Write, İdempotent Tüketim Ardışık Numara Üretiminde Race Condition ve Gap
- Kararsız test
-
Aynı kod üzerinde bazen geçen bazen kalan test. Retry ile bastırmak belirtiyi gizler: kararsızlık neredeyse her zaman gerçek bir determinizm eksikliğini — zaman, sıra ya da paylaşılan durum bağımlılığını — işaret eder.
İlgili yazılar: Kararsız Testler: Retry Çözüm Değil Production Hatasını Hangi Test Engeller?
- Modüler monolit
-
Tek bir deploy birimi içinde net modül sınırları olan mimari. Mikroservisin sınır disiplinini, dağıtık sistem maliyetini ödemeden verir; sınırlar gerçekten gerektiğinde ayrıştırma noktası zaten hazırdır.
İlgili yazılar: Projelere Neden Modüler Monolit ile Başlıyorum? Mikroservise Ne Zaman Geçerim?
- PITR (point-in-time recovery)
-
WAL arşivi sayesinde veritabanını geçmişteki herhangi bir ana geri döndürebilme yeteneği. Tek başına gecelik bir dump, veri kaybı penceresini bir güne kadar açar; PITR o pencereyi saniyelere indirir.
İlgili yazılar: pgBackRest ile PostgreSQL Backup Stratejisi
- Rate limiting
-
Bir istemcinin belirli bir pencerede yapabileceği istek sayısını sınırlamak. Kötü niyetli trafiğe karşı olduğu kadar — çoğu zaman daha çok — retry döngüsüne girmiş hatalı bir istemciye karşı da korumadır.
- Read replica
-
Primary'nin yazmalarını akış hâlinde tekrar oynayan, okumaya açık kopya. Okuma yükü problemini çözer, yazma yükü problemini **çözmez** — aynı yazmalar replica'da da tekrarlanır. Bedeli, her sorgunun "bu bayat veri okuyabilir mi" sorusuna cevap vermek zorunda kalmasıdır.
İlgili yazılar: Read/Write Splitting: Okuma ve Yazma Yükünü Ayırmak Veri Yoğunluklu Sistemlerde Ölçek Kırılma Noktaları
- Readiness / liveness
-
İki ayrı sağlık sorusu: liveness "process ayakta mı", readiness "process trafik almaya hazır mı". Trafiği readiness belirler ve gerçek bir readiness kontrolü bağımlılıkları sınar — veritabanına bağlanabiliyor mu, cache erişilebilir mi. "Port açık mı" yeterli değildir.
- SKIP LOCKED
-
Bir `SELECT ... FOR UPDATE`'in, başka bir transaction'ın kilitlediği satırları beklemek yerine atlamasını sağlayan SQL yan tümcesi. Birden çok relay ya da worker'ın aynı tablodan çakışmadan disjoint kümeler çekmesini sağlar; onsuz paralellik fiilen seri yürür.
İlgili yazılar: Transactional Outbox: Dual-Write, İdempotent Tüketim
- Teknik borç
-
Bugünkü hızı yarınki değişim maliyetiyle takas eden bilinçli ya da bilinçsiz kararlar. Hepsi ödenmez — bazılarıyla yaşamak doğru karardır. Ayrım, borcun faizini kimin ve ne sıklıkta ödediğine bakılarak yapılır.
İlgili yazılar: "İleride Lazım Olur" Kodunun Production Faturası
- Transactional outbox
-
Mesajı doğrudan broker'a basmak yerine, iş satırıyla aynı transaction içinde bir `outbox` tablosuna yazma kalıbı. Ayrı bir relay onu kuyruğa taşır. Dual-write'ı tek write'a indirir — ama karşılığında exactly-once değil, at-least-once verir.
İlgili yazılar: Transactional Outbox: Dual-Write, İdempotent Tüketim
- Working set
-
Veritabanının fiilen sık eriştiği veri kümesi — toplam veri değil, sıcak olan kısım. RAM'e sığdığı sürece okumalar bellekten karşılanır; taştığı an disk okumaları ve gecikme birlikte tırmanır.
İlgili yazılar: Veri Yoğunluklu Sistemlerde Ölçek Kırılma Noktaları İndeksler: Eksik Yavaşlatır, Fazlası Yazmayı Öldürür