Kuluttajaryhmälogiikan toteuttaminen
Oppikaa luomaan ryhmiä, lukemaan viestejä `XREADGROUP`-komennolla ja kuittaamaan käsittely `XACK`-komennolla.
Kuluttajaryhmälogiikan toteuttaminen on ilmainen Redis-välimuisti ja viestinvälitys (Pub/Sub, Streams)-oppitunti CoddyKitissä. Tämä on oppitunti 2/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 Redis-välimuisti ja viestinvälitys (Pub/Sub, Streams)-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Redis-välimuisti ja viestinvälitys (Pub/Sub, Streams)-kurssilla on yhteensä 4 oppituntia.
Tervetuloa kuluttajaryhmien pariin!
Edellisessä oppitunnissa opimme, mitä Redis Streams tarkoittaa. Nyt perehdymme kuluttajaryhmiin! Ne ovat tehokas ominaisuus, jonka avulla useat asiakkaat voivat käsitellä streamin viestejä yhteistyössä.
Kuvitelkaa joukko työntekijöitä käsittelemässä tehtäviä yhdestä tehtävälistasta. Jokainen työntekijä saa omat tehtävänsä, ja jos yksi epäonnistuu, muut voivat ottaa odottavat tehtävät käsiteltäväkseen. Tämän kuluttajaryhmät mahdollistavat!
Ryhmän määrittäminen
Ennen kuin kuluttajat voivat liittyä, streamille on luotava kuluttajaryhmä. Tämä tehdään komennolla XGROUP CREATE.
Komento kertoo Redisille: "Hei, luo tälle streamille uusi ryhmä." Lisäksi määritätte tunnisteen, joka on yleensä 0 tai $, jos lukeminen halutaan aloittaa streamin alusta tai lopusta.
Luokaa ensimmäinen ryhmänne!
Luodaan streamille mystream ryhmä nimeltä mygroup. $ tarkoittaa "aloita lukeminen uusimmasta merkinnästä". MKSTREAM-valitsin on ratkaisevan tärkeä: se luo streamin, jos sitä ei vielä ole!
Kokeilkaa:
XGROUP CREATE mystream mygroup $ MKSTREAMLukeminen komennolla `XREADGROUP`
Kun ryhmä on luotu, kuluttajat voivat alkaa lukea viestejä komennolla XREADGROUP. Tämä komento on suunniteltu erityisesti kuluttajaryhmiä varten.
Se varmistaa, että jokainen viesti toimitetaan vain yhdelle ryhmän kuluttajalle. Jos kuluttaja ei kuittaa viestiä, se jää odottavaksi ja voidaan ottaa myöhemmin käsiteltäväksi.
Komennon `XREADGROUP` tulkinta
Komennolla XREADGROUP on useita tärkeitä parametreja:
GROUP <groupname> <consumername>: Määrittää, mikä ryhmä ja kuluttaja lukevat.COUNT <N>: Valinnainen. Rajoittaa luettavien viestien määrää.BLOCK <milliseconds>: Valinnainen. Estää asiakkaan toiminnan, jos viestejä ei ole saatavilla.STREAMS <streamname> <ID>: Stream, josta luetaan, sekä tunniste. Käyttäkää tunnistetta>, jos haluatte saada uudet viestit, joita ei ole vielä toimitettu kenellekään muulle ryhmän kuluttajalle.
Luetaan muutama viesti!
Lisätään ensin muutama viesti streamiin mystream:
XADD mystream * event start task:1
XADD mystream * event process task:1Kuluttaja lukee uudet viestit
Pyydetään nyt kuluttajaa nimeltä consumer-1 lukemaan streamia mystream ryhmästä mygroup. Tunniste > tarkoittaa "uudet, lukemattomat viestit".
XREADGROUP GROUP mygroup consumer-1 STREAMS mystream >Viestien käsittelyn vahvistaminen
Kun kuluttaja on käsitellyt viestin onnistuneesti, sen kuittaaminen on erittäin tärkeää. Tämä ilmoittaa Redisille, että viesti on käsitelty ja voidaan poistaa kuluttajan Pending Entries List -listalta (PEL).
Kuittaus estää saman viestin toimittamisen uudelleen toiselle kuluttajalle, jos nykyinen kuluttaja kaatuu tai siirtyy offline-tilaan ennen tehtävän valmistumista.
`XACK`-komennon käyttö
Viestien kuittaamiseen käytetään komentoa XACK. Sen syntaksi on yksinkertainen:
XACK <streamname> <groupname> <ID> [ID ...]Annatte streamin nimen, kuluttajaryhmän nimen sekä yhden tai useamman onnistuneesti käsitellyn viestin tunnisteen.
Harjoitellaan `XACK`-komentoa
Oletetaan, että saitte edellisessä luvussa viestitunnisteet 1678881234567-0 ja 1678881234568-0. Kuittaisitte ne näin (korvatkaa tunnisteet omilla tunnisteillanne):
XACK mystream mygroup 1678881234567-0 1678881234568-0Testatkaa tietonne
Olette oppineet luomaan ryhmiä, lukemaan viestejä ja kuittaamaan niitä. Mikä seuraavista Redis-kuluttajaryhmiä koskevista väitteistä on TOSI?
Kertaus: kuluttajaryhmälogiikka
Hienoa työtä! Olette hallinneet Redis-kuluttajaryhmälogiikan toteuttamisen perusteet:
- Käytimme komentoa
XGROUP CREATEuuden ryhmän määrittämiseen streamille. - Opitte lukemaan viestejä yhteistyössä kuluttajana komennolla
XREADGROUP. - Näimme, miten tärkeä
XACKon käsiteltyjen viestien kuittaamisessa ja Pending Entries List -listan (PEL) hallinnassa.
Seuraavaksi tutustumme tarkemmin odottavien viestien ja kuluttajien epäonnistumisten vankempaan käsittelyyn!
Opi Redis-välimuisti ja viestinvälitys (Pub/Sub, Streams) 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 ”Kuluttajaryhmälogiikan toteuttaminen” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Redis-välimuisti ja viestinvälitys (Pub/Sub, Streams)-oppimispolun 3 oppituntia, myös oppitunnin “Kuluttajaryhmälogiikan toteuttaminen”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Redis-välimuisti ja viestinvälitys (Pub/Sub, Streams)-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Kuluttajaryhmälogiikan toteuttaminen”?
Oppikaa luomaan ryhmiä, lukemaan viestejä `XREADGROUP`-komennolla ja kuittaamaan käsittely `XACK`-komennolla. Harjoittelet Redis-välimuisti ja viestinvälitys (Pub/Sub, Streams)-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Redis-välimuisti ja viestinvälitys (Pub/Sub, Streams)-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Redis-välimuisti ja viestinvälitys (Pub/Sub, Streams)-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Kuluttajaryhmälogiikan toteuttaminen”-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ä Redis-välimuisti ja viestinvälitys (Pub/Sub, Streams)-oppitunnilla?
Kyllä. Jokainen Redis-välimuisti ja viestinvälitys (Pub/Sub, Streams)-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
- Johdanto kuluttajaryhmiin
- Kuluttajaryhmälogiikan toteuttaminen
- Odottavien viestien ja virheiden käsittely
- Kuluttajaryhmien viiveen seuranta