Ikkunointi ja tilalliset aggregoinnit Kafka Streamsissa
Oppikaa tekemään aikaikkunoituja aggregointeja ja hallitsemaan tilavarastoja Kafka Streamsissa juoksevien lukumäärien, summien ja metriikoiden laskemiseksi tapahtumavirroista.
Ikkunointi ja tilalliset aggregoinnit Kafka Streamsissa on ilmainen Spring Boot 4:n edistyneet aiheet: tapahtumavetoinen arkkitehtuuri (Kafka)-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Spring Boot 4:n edistyneet aiheet: tapahtumavetoinen arkkitehtuuri (Kafka)-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Spring Boot 4:n edistyneet aiheet: tapahtumavetoinen arkkitehtuuri (Kafka)-kurssilla on yhteensä 4 oppituntia.
Tilallinen ja tilaton käsittely
map- ja filter-operaatioiden kaltaiset toiminnot ovat tilattomia. Koostaminen, kuten laskeminen tai summaaminen, edellyttää tilaa, joka säilyy tietueiden välillä.
Kafka Streams hallinnoi tätä tilaa puolestanne paikallisissa tilavarastoissa.
Virran ryhmitteleminen
Ennen koostamista ryhmitelkää tietueet avaimen mukaan käyttämällä groupByKey- tai groupBy-operaatiota.
KGroupedStream<String, Order> grouped =
orders.groupBy((key, order) -> order.getCustomerId());Laskeminen avaimen mukaan
Yksinkertainen koostaminen: lasketaan asiakkaan tilaukset. Tuloksena on tilavaraston tukema KTable.
KTable<String, Long> counts = grouped.count();Yleinen koostaminen
Käyttäkää aggregate-operaatiota mukautettuun kertymien laskentaan. Määritätte alustajan ja lisäysfunktion.
KTable<String, Double> totals = grouped.aggregate(
() -> 0.0,
(key, order, sum) -> sum + order.getAmount());Aikaikkunoiden esittely
Usein koostaminen halutaan tehdä aikaikkunan ajalta, esimerkiksi viimeisten viiden minuutin tilauksista. Kafka Streams tukee hyppimättömiä, liukuvia ja istuntoikkunoita.
Hyppimättömät ikkunat
Hyppimätön ikkuna on kiinteän kokoinen eikä ole päällekkäinen muiden ikkunoiden kanssa. Jokainen tietue kuuluu täsmälleen yhteen ikkunaan.
grouped
.windowedBy(TimeWindows.ofSizeWithNoGrace(Duration.ofMinutes(5)))
.count();Liukuvat ikkunat
Liukuvilla ikkunoilla on koko ja sitä pienempi etenemisaskel, joten ikkunat menevät päällekkäin. Tietue voi kuulua useaan ikkunaan.
TimeWindows.ofSizeAndGrace(Duration.ofMinutes(5), Duration.ofSeconds(30))
.advanceBy(Duration.ofMinutes(1));Istuntoikkunat
Istuntoikkunat ryhmittelevät tietueet, joiden välissä on toimettomuusjaksoja – ne sopivat hyvin käyttäjäistuntoihin, joissa toimintapiikit vuorottelevat taukojen kanssa.
grouped
.windowedBy(SessionWindows.ofInactivityGapWithNoGrace(Duration.ofMinutes(10)))
.count();Tilavarastojen vikasietoisuus
Tilavarastot perustuvat Kafkan tiivistettyihin muutoslokiaiheisiin. Jos instanssi vikaantuu, sen tila rakennetaan muutoslokista uudelleen toisessa instanssissa.
Tilan interaktiivinen kysely
Interactive Queries -toiminnon avulla voitte lukea tilavarastojen arvoja suoraan sovelluksesta ja tarjota koostetut tiedot REST-päätepisteen kautta ilman ulkoista tietokantaa.
ReadOnlyKeyValueStore<String, Long> store =
streams.store(StoreQueryParameters.fromNameAndType(
"counts", QueryableStoreTypes.keyValueStore()));Kokonaisuuden kokoaminen
Ikkunoidut, tilalliset koostetut tiedot muuttavat tapahtumavirrat reaaliaikaisiksi mittareiksi. Ryhmitelkää avaimen mukaan, valitkaa ikkunatyyppi, koostakaa tiedot ja tarjotkaa tila tarvittaessa interaktiivisten kyselyjen kautta.
Pikatarkistus
Testatkaa, kuinka hyvin ymmärrätte ikkunoiden käytön.
Kertaus
Opitte ikkunoiden käytön ja tilallisen koostamisen perusteet.
- Ryhmitelkää tietueet
groupByKey-operaatiolla ennen koostamista. - Rakentakaa KTable käyttämällä
count- taiaggregate-operaatiota. - Hyppimättömät, liukuvat ja istuntoikkunat käsittelevät aikaa eri tavoin.
- Muutoslokiaiheet tekevät tilavarastoista vikasietoisia.
Opi Spring Boot 4:n edistyneet aiheet: tapahtumavetoinen arkkitehtuuri (Kafka) tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 12
- Oppitunnit
- 48
Usein kysytyt kysymykset
Onko oppitunti ”Ikkunointi ja tilalliset aggregoinnit Kafka Streamsissa” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Spring Boot 4:n edistyneet aiheet: tapahtumavetoinen arkkitehtuuri (Kafka)-oppimispolun 3 oppituntia, myös oppitunnin “Ikkunointi ja tilalliset aggregoinnit Kafka Streamsissa”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Spring Boot 4:n edistyneet aiheet: tapahtumavetoinen arkkitehtuuri (Kafka)-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Ikkunointi ja tilalliset aggregoinnit Kafka Streamsissa”?
Oppikaa tekemään aikaikkunoituja aggregointeja ja hallitsemaan tilavarastoja Kafka Streamsissa juoksevien lukumäärien, summien ja metriikoiden laskemiseksi tapahtumavirroista. Harjoittelet Spring Boot 4:n edistyneet aiheet: tapahtumavetoinen arkkitehtuuri (Kafka)-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Spring Boot 4:n edistyneet aiheet: tapahtumavetoinen arkkitehtuuri (Kafka)-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Spring Boot 4:n edistyneet aiheet: tapahtumavetoinen arkkitehtuuri (Kafka)-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.
Kuinka kauan ”Ikkunointi ja tilalliset aggregoinnit Kafka Streamsissa”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Spring Boot 4:n edistyneet aiheet: tapahtumavetoinen arkkitehtuuri (Kafka)-oppitunnilla?
Kyllä. Jokainen Spring Boot 4:n edistyneet aiheet: tapahtumavetoinen arkkitehtuuri (Kafka)-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Johdatus Kafka Streamsiin
- Stream-käsittely KStreamilla ja KTablella
- Yksinkertaisen stream-sovelluksen rakentaminen
- Ikkunointi ja tilalliset aggregoinnit Kafka Streamsissa