Ana içeriğe geç

Kafka Deployment Contract

Bu sayfa, Qapu'nun event tasima omurgasi olan Kafka'nin Docker Swarm uzerinde nasil konumlanacagini tanimlar.

Rol

Kafka, servisler arasi event bus ve tetikleme katmanidir.

Bu nedenle deployment contract acisindan kritik davranislar:

  • broker kimligi
  • topic dayanikliligi
  • disk placement
  • listener config
  • rollout sirasi

Benimsenen Model

  • Swarm icinde containerized deployment
  • 3 broker topology
  • her broker icin ayri kimlik
  • her broker icin deterministic placement
  • her broker icin ayri disk/volume baglami

Placement

Onerilen constraint mantigi broker bazli olmalidir.

Ornek zihinsel model:

  • kafka-1 -> node.role.qapu.kafka=true ve broker-1'e uygun node
  • kafka-2 -> farkli node
  • kafka-3 -> farkli node

Kural:

  • Kafka replicas: 3 gibi tek satirlik stateless mantikla ele alinmaz
  • broker topology ayri ayri dusunulur

Storage

Her broker icin:

  • ayri volume veya deterministic host path
  • disk performansi ve kapasite gozlemi
  • broker restart sonrasi veri butunlugu beklentisi

Network

Tipik network uyeligi:

  • qapu-data
  • gerekiyorsa qapu-ops

Dis client erisimi olacaksa listener modeli ayri tasarlanmalidir.

Secrets ve Configs

Secrets

  • auth mekanizmasi varsa ilgili credential'lar

Configs

  • broker id veya node id mantigi
  • advertised listeners
  • replication factor
  • retention
  • partition ve topic davranislari

Health ve Readiness

Kafka icin process ayakta olmasi yeterli degildir.

Anlamli readiness beklentisi:

  • broker cluster'a katildi mi?
  • listener dogru advertise edildi mi?
  • topic operation'lari beklenen sekilde calisiyor mu?

Update Stratejisi

Kafka update stratejisi broker broker dusunulmelidir.

Onerilen davranis:

  • toplu rolling yerine kontrollu broker update
  • ISR ve replication etkisini bilerek rollout
  • config degisikligi varsa listener/topology etkisini onceden degerlendirme

Operasyonel Not

Kafka'nin Swarm icindeki deployment kalitesi, yalniz broker sayisi ile olculmez.

Asil olcutler:

  • broker kimliklerinin sabitligi
  • storage baglaminin saglamligi
  • listener/config dogrulugu
  • kontrollu operasyon disiplini