Əsas məzmuna keç
DevScallix

Kafka və Event-Driven Architecture: Modullar

Proqram Kafka-nı yalnız istifadə etməyi yox, onun davranışını başa düşərək etibarlı event əsaslı sistem qurmağı hədəfləyir. Sıralama, çatdırılma semantikası, idempotent istehlak, transactional outbox və schema təkamülü real səhvlər üzərindən öyrənilir. Operasiya və monitorinq də dizaynın tərkib hissəsi kimi əhatə olunur.

  1. 01

    Kafka-nın əsas modeli

    Log əsaslı modelin nə verdiyini və nə vermədiyini başa düşürük.

    • Topic, partition, segment və log modeli
    • Replication, leader və ISR
    • Retention və log compaction
    • Producer batch, acks və gecikmə
    • Kafka queue-dan nə ilə fərqlənir

    Laboratoriya: Lokal klasterdə topic yaradıb partition və retention parametrlərinin davranışa təsirini müşahidə etmək.

  2. 02

    Sıralama və partisiyalaşdırma

    Sıralama yalnız partition daxilində qorunur; bunu dizayn qərarına çeviririk.

    • Message key və partitioner
    • Hot partition və paylanma problemi
    • Partition sayının seçimi və sonradan artırmanın nəticələri
    • Sıralamanın pozulma ssenariləri (retry, çoxlu producer)
    • Açarın domain əsasında seçilməsi

    Laboratoriya: Eyni müştərinin event-lərinin sırasını qoruyan açar seçimi edib sıranın pozulduğu halı təkrarlamaq.

  3. 03

    Consumer group və rebalancing

    İstehlakçıların partition-ları necə bölüşdüyünü və bunun nəyə səbəb ola biləcəyini öyrənirik.

    • Consumer group və partition təyinatı
    • Offset commit strategiyaları
    • Rebalance növləri və cooperative rebalancing
    • max.poll.interval və yavaş consumer problemi
    • Consumer lag və paralelliyin həddi

    Laboratoriya: Consumer-i yavaşladıb rebalance fırtınası yaratmaq, səbəbi log və metriklərdən tapıb düzəltmək.

  4. 04

    Çatdırılma semantikası və idempotent istehlak

    Dublikat qaçılmazdır; ona davamlı consumer yazmağı öyrənirik.

    • At-most-once, at-least-once, exactly-once
    • Idempotent producer və Kafka transactions
    • Consumer tərəfində idempotency: unikal açar və deduplikasiya
    • Retry topic və dead letter topic
    • Poison message ilə davranış

    Laboratoriya: Eyni mesajı iki dəfə qəbul edən consumer yazıb nəticənin təkrar tətbiq olunmadığını testlə sübut etmək.

  5. 05

    Transactional outbox

    Verilənlər bazasına yazmaq və event göndərmək arasındakı uyğunsuzluğu aradan qaldırırıq.

    • Dual write problemi
    • Outbox cədvəli və polling publisher
    • CDC əsaslı yanaşma (Debezium konsepti)
    • Outbox təmizlənməsi və sıralama
    • Inbox pattern

    Laboratoriya: Sifariş servisində outbox qurub servis çökməsi zamanı event-in itmədiyini və dublikatın idarə olunduğunu göstərmək.

  6. 06

    Event modelləşdirməsi və schema təkamülü

    Event-lər uzunömürlü müqavilədir; onları sındırmadan dəyişməyi öyrənirik.

    • Event vs command vs state transfer
    • Event adlandırması və tərkibi
    • Avro/Protobuf və Schema Registry
    • Geriyə və irəliyə uyğunluq qaydaları
    • Versiyalaşdırma və köhnə event-lərlə yaşamaq

    Laboratoriya: Mövcud event schema-sına sahə əlavə və silmə dəyişikliyi edib uyğunluq yoxlamasının hansını rədd etdiyini müşahidə etmək.

  7. 07

    Choreography və orchestration

    Çoxaddımlı biznes axınını event-lərlə koordinasiya etməyin iki yolunu müqayisə edirik.

    • Choreography: üstünlük və gizli coupling
    • Orchestration: mərkəzi nəzarət və onun dəyəri
    • Axının görünürlüyü və debug
    • Kompensasiya və timeout idarəsi

    Laboratoriya: Eyni biznes axınını iki yanaşma ilə qurub izlənilmə və dəyişdirilmə asanlığı baxımından müqayisə etmək.

  8. 08

    Operasiya və monitorinq

    Kafka əsaslı sistemi etibarlı işlətmək üçün nəyi izləməli olduğumuzu müəyyən edirik.

    • Consumer lag və xəbərdarlıq
    • Broker və topic metrikaları
    • Capacity planlaması və retention xərci
    • Replay: event-ləri yenidən emal etmək
    • Təhlükəsizlik: autentifikasiya və ACL əsasları

    Laboratoriya: Consumer lag üçün dashboard və xəbərdarlıq qaydası qurub lag yaradan ssenarini yoxlamaq.

Proqram səhifəsinə qayıtPlan haqqında sual ver