Advanced Spring Boot 4: Event-Driven Architecture (Kafka) · Ders

Kafka Streams'te Pencereleme ve Durum Bilgili Toplamalar

Olay akışları üzerinden anlık sayıları, toplamları ve metrikleri hesaplamak için zaman pencereli toplamalar yapmayı ve Kafka Streams'te durum depolarını yönetmeyi öğrenin.

4. ders / 413 adım

Kafka Streams'te Pencereleme ve Durum Bilgili Toplamalar, CoddyKit'te ücretsiz bir Advanced Spring Boot 4: Event-Driven Architecture (Kafka) dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Advanced Spring Boot 4: Event-Driven Architecture (Kafka) öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Advanced Spring Boot 4: Event-Driven Architecture (Kafka) kursu toplamda 4 dersten oluşur.

Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.

Stateful vs Stateless

Operations like map and filter are stateless. Aggregations such as counting or summing require state that persists across records.

Kafka Streams manages this state for you in local state stores.

Grouping a Stream

Before aggregating you group records by key with groupByKey or groupBy.

KGroupedStream<String, Order> grouped =
    orders.groupBy((key, order) -> order.getCustomerId());

Counting per Key

A simple aggregation: count orders per customer. The result is a KTable backed by a state store.

KTable<String, Long> counts = grouped.count();

General Aggregation

Use aggregate for custom accumulation. You provide an initializer and an adder function.

KTable<String, Double> totals = grouped.aggregate(
    () -> 0.0,
    (key, order, sum) -> sum + order.getAmount());

Introducing Windows

Often you want aggregations over a time window, e.g. orders in the last 5 minutes. Kafka Streams supports tumbling, hopping, and session windows.

Tumbling Windows

A tumbling window is fixed-size and non-overlapping. Each record belongs to exactly one window.

grouped
  .windowedBy(TimeWindows.ofSizeWithNoGrace(Duration.ofMinutes(5)))
  .count();

Hopping Windows

Hopping windows have a size and a smaller advance, so they overlap. A record can fall into multiple windows.

TimeWindows.ofSizeAndGrace(Duration.ofMinutes(5), Duration.ofSeconds(30))
           .advanceBy(Duration.ofMinutes(1));

Session Windows

Session windows group records separated by gaps of inactivity — ideal for user sessions where activity bursts then pauses.

grouped
  .windowedBy(SessionWindows.ofInactivityGapWithNoGrace(Duration.ofMinutes(10)))
  .count();

State Store Fault Tolerance

State stores are backed by compacted changelog topics in Kafka. If an instance fails, its state is rebuilt from the changelog on another instance.

Querying State Interactively

Interactive Queries let you read state store values directly from the application, exposing aggregations via a REST endpoint without an external database.

ReadOnlyKeyValueStore<String, Long> store =
    streams.store(StoreQueryParameters.fromNameAndType(
        "counts", QueryableStoreTypes.keyValueStore()));

Putting It Together

Windowed, stateful aggregations turn raw event streams into live metrics. Group by key, choose a window type, aggregate, and optionally expose the state via interactive queries.

Quick Check

Test your understanding of windowing.

Recap

You learned windowing and stateful aggregations.

  • Group with groupByKey before aggregating.
  • Use count or aggregate to build a KTable.
  • Tumbling, hopping, and session windows handle time differently.
  • State stores are fault-tolerant via changelog topics.
Başlamak ücretsiz

Yapay zeka eğitmeniyle Advanced Spring Boot 4: Event-Driven Architecture (Kafka) öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
12
Dersler
48

Sıkça Sorulan Sorular

“Kafka Streams'te Pencereleme ve Durum Bilgili Toplamalar” dersi ücretsiz mi?

Evet — “Kafka Streams'te Pencereleme ve Durum Bilgili Toplamalar” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Advanced Spring Boot 4: Event-Driven Architecture (Kafka) kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Advanced Spring Boot 4: Event-Driven Architecture (Kafka) kursu toplamda 4 dersten oluşur.

“Kafka Streams'te Pencereleme ve Durum Bilgili Toplamalar” dersinde ne öğreneceğim?

Olay akışları üzerinden anlık sayıları, toplamları ve metrikleri hesaplamak için zaman pencereli toplamalar yapmayı ve Kafka Streams'te durum depolarını yönetmeyi öğrenin. Advanced Spring Boot 4: Event-Driven Architecture (Kafka) ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Advanced Spring Boot 4: Event-Driven Architecture (Kafka) öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Advanced Spring Boot 4: Event-Driven Architecture (Kafka), başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Kafka Streams'te Pencereleme ve Durum Bilgili Toplamalar” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Advanced Spring Boot 4: Event-Driven Architecture (Kafka) dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Advanced Spring Boot 4: Event-Driven Architecture (Kafka) dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Kafka Streams’e Giriş
  2. KStream ve KTable ile Akış İşleme
  3. Basit Bir Akış Uygulaması Geliştirme
  4. Kafka Streams'te Pencereleme ve Durum Bilgili Toplamalar
← Advanced Spring Boot 4: Event-Driven Architecture (Kafka) Sayfasına Dön