İçeriğe geç
Muhammet Şafak
en

Kitap II / III The Unreliable Systems Trilogy

Güvenilir Event-Driven Sistemler Tasarlamak

Mesajlaşma, retry, idempotency, outbox, ordering ve schema evolution

Ağlar, broker'lar, deploy'lar ve insanlar yanlış davrandığında bile event-driven sistemleri doğru tutan örüntülere dair pratik bir rehber.

  • 340 sayfa
  • 1. baskı
  • Ücretsiz
Dil seçin 3 dil daha yolda

English baskının sayfası: /books/designing-reliable-event-driven-systems/

Kayıt yok, e-posta yok. Lisans: © 2026 Muhammet Şafak — ücretsiz indirilir ve okunur

Kitabın tezi

Değil

message broker'lar

Aksine

failure semantics

  • 01

    Failure semantics

    Bir mesaj geciktiğinde, kaybolduğunda, çoğaldığında ya da sırası bozulduğunda ne olacağını tanımlayın.

  • 02

    Teslimat ve çoğalma

    At-least-once teslimatı bir gerçek olarak kabul edin ve handler'ları iki kez çalışmaya dayanıklı yapın.

  • 03

    Kurtarma ve replay

    İşler ters gittikten sonra sistemin yolunu nasıl bulacağını önceden planlayın.

Kitap hakkında

Bir instance siparişi veritabanına yazdı ve event’i göndermeden kapandı; alarm çalmadı. Ertesi sabah bir alıcı “verildi” görünen bir siparişe bakıyordu: Payments hiçbir kartı yetkilendirmemiş, Inventory hiçbir ürünü ayırmamıştı. Sahne, Parcelly adlı kurgusal bir pazar yerinde geçer ve ortada alışılmış anlamda kodlanmış bir hata yoktur: her satır yazdığını yaptı, sistem veritabanı commit’i ile ağ çağrısı arasındaki boşlukta bozuldu.

Kitabın iddiası, sorunun message broker’larda değil failure semantics’te olduğudur: bir mesaj geciktiğinde, kaybolduğunda, çoğaldığında ya da sırası bozulduğunda ne olacağına önceden karar vermek. Açılış sahnesindeki boşluğun adı dual-write problemidir; kitap onu transactional outbox ile kapatır, ardından teslimat, çoğalma, kurtarma ve replay konularına geçer.

Kitap hiçbir broker’a özel değildir ve izlendiğinde sisteminizin doğru olacağını vaat etmez. Güvenilirlik sonradan eklenen bir özellik değil; hangi hataları nasıl ele alacağınıza ve hangilerini bilerek kabul edeceğinize verdiğiniz kararlardır. Her numaralı bölüm örüntünün maliyetini, sık yapılan hataları ve ne zaman kullanılmaması gerektiğini söyler.

İçindekiler

  1. 01 Önsöz
  2. 02 Happy Path'in Yalanı
  3. 03 Mesajlaşma Semantiği
  4. 04 Pratik Bir Hata Modeli
  5. 05 Dual-Write Problemi ve Transactional Outbox
  6. 06 Relay'ler, Polling ve Change Data Capture
  7. 07 Retry'ı Doğru Yapmak
  8. 08 Idempotency
  9. 09 Poison Message'lar ve Dead Letter'lar
  10. 10 Ordering
  11. 11 Saga'lar ve Uzun Süren İş Akışları
  12. 12 Event Tasarımı
  13. 13 Schema Evolution
  14. 14 Observability ve Reconciliation
  15. 15 Recovery, Felaketler ve Broker Migration
  16. 16 Event-Driven Sistemleri Test Etmek
  17. 17 Bir Güvenilirlik Kontrol Listesi ve Kapanış Düşünceleri
  18. 18 Ek: Sözlük ve Örüntülere Hızlı Başvuru

Sık sorulanlar

3 soru

  • Kitap kimin için?

    Event'ler üzerinden haberleşen sistemler kuran ya da işleten backend ve platform mühendisleri ile tech lead'ler için.

  • Belirli bir message broker'a ya da programlama diline ihtiyacım var mı?

    Hayır. Kitap belirli bir broker için öğretici değildir; broker'dan bağımsızdır, dilden bağımsız pseudocode ve Mermaid diyagramları kullanır.

  • Kitabı izlersem sistemim doğru çalışır mı?

    Kitap bunu vaat etmez. Güvenilirliği, nasıl ele alacağınıza karar verdiğiniz ve bilerek kabul ettiğiniz hataların toplamı olarak görür; at-least-once teslimatı bir gerçek olarak kabul etmenizi ve handler'ları iki kez çalışmaya dayanıklı yapmanızı ister.

Sitede Ara

Yazı, proje ve sayfalarda arama yapmak için yazmaya başlayın.

Esc ile kapat Pagefind ile güçlendirildi