Kafka Fogyasztói Csoport - Teljes útmutató a Kafka Fogyasztói Csoporthoz

Tartalomjegyzék:

Anonim

Bevezetés a Kafka Fogyasztói Csoportba

A Kafka fogyasztói csoport alapvetően számos Kafka Fogyasztó, akik párhuzamosan olvashatnak adatokat egy Kafka témáról. A Kafka Fogyasztói Csoport a következő tulajdonságokkal rendelkezik:

  • A csoport összes fogyasztójának ugyanaz a group.id.
  • A téma minden partícióját csak egy Fogyasztó olvassa.
  • A Fogyasztók maximális száma megegyezik a téma partícióinak számával. Ha több fogyasztó van, mint partíció, akkor a fogyasztók egy része sem működik.
  • A Fogyasztó egynél több partícióról olvashat.

A Kafka Fogyasztói Csoport fontossága

A kiskereskedelmi szervezetek számára nagyszámú Termelő állhat elő hatalmas sebességgel. Most, hogy nagy mennyiségű adatot lehessen olvasni, több, párhuzamosan futó fogyasztóra van szükségünk. A Termelők oldalán viszonylag könnyebb, ha minden egyes Termelő a többitől függetlenül állít elő adatokat. De a fogyasztói oldalon, ha egynél több fogyasztó olvas ugyanarról a témáról, akkor nagy esély van arra, hogy minden üzenet többször is elolvassa. A Kafka a Consumer Group segítségével oldja meg ezt a problémát. Mindenesetre csak egy felhasználó engedheti meg az adatok olvasását a partícióktól.

A Kafka Fogyasztói Csoport partíciói

Tegyük fel, hogy van egy Kafka-téma, és benne 4 partíció található. Akkor a következő forgatókönyvek lehetnek:

1. Fogyasztók száma = A partíciók száma

Ebben az esetben minden Fogyasztó elolvassa az egyes partíciók adatait, és ez az ideális eset.

2. Fogyasztók száma> Partíciók száma

Ebben az esetben egy fogyasztó tétlen marad, és az erőforrás rossz felhasználásához vezet.

3. Fogyasztók száma <partíciók száma

Ebben az esetben az egyik fogyasztó több partícióból fog adatokat olvasni.

4. Fogyasztói csoport száma> 1

Ebben az esetben a témát egynél több fogyasztói csoport feliratkozta, amely két különböző alkalmazást fedez fel. A két alkalmazás egymástól függetlenül futhat.

A Kafka Fogyasztói Csoport előnyei

A Fogyasztói Csoport a következő előnyöket nyújtja:

  • Skálázhatóság: Számos olyan adat fogyasztója, amely párhuzamosan olvassa az adatokat, határozottan növeli az adatfogyasztási arányt, és lehetővé teszi a rendszer számára, hogy nagy mennyiségű adatot olvassa le.
  • Hibatolerancia: Tegyük fel, hogy csak egy Fogyasztónk volt (nem olyan nagy adatmennyiség olvasásához), mi történne, ha a Fogyasztó valamilyen okból kudarcot vall? Az egész csővezeték megszakad.
  • Terheléselosztás: A Kafka a partíciókat méltányosan osztja meg minden Fogyasztóval, ezáltal az adatfogyasztási folyamat zökkenőmentes és hatékony.
  • Egyensúlyozás: Ha új fogyasztót vesz fel, vagy egy meglévő megáll, a Kafka egyensúlyba hozza a rendelkezésre álló fogyasztók terhelését.

Hogyan Kafka áthidalja a két modellt?

Először tárgyaljuk a két üzenetküldési modellt.

1. Üzenet sorok

Ebben a modellben az üzenetfolyamot egyetlen gyártó küldi csak egy fogyasztónak. Így mindegyik üzenet csak egyszer olvasható, és ha a fogyasztó üzenetet húz, az üzenet törlődik a sorból. Jellemző példa lehet a fizetési csekk kiadása, ahol minden fizetési csekk csak egyszer kell kiállni. Ez a modell nem garantálja az üzenetek megfelelő kézbesítését sem. Az üzenetek feldolgozhatóságának méretezhetősége egyetlen domainre korlátozódik.

2. Közzététel és feliratkozás üzenetküldés

Ebben a modellben a Termelő közzétett üzeneteit egynél több Fogyasztó feliratkozhatja. A Termelő és a Fogyasztó nagymértékben függetlenül egymástól. Ez a modell biztosítja, hogy minden Fogyasztó egy témában üzeneteket kapjon a gyártó által generált pontos sorrendben. Jellemző példa lehet az ételetelevízió, amely különféle csatornákat, például zenét, filmet, sportot stb. Tesz közzé, és a fogyasztók egynél több csatornára is feliratkozhatnak. Mivel egy témára több előfizető van, a patakok feldolgozásának méretezése kihívást jelent.

A Kafka annyira népszerű, mert bár a közzététel-feliratkozás modellen alapul, előnyei vannak az üzenetküldési sorrendszernek. Amint azt korábban tárgyaltuk, ha van Fogyasztói csoportunk, a Kafka biztosítja, hogy a téma minden egyes üzenetét csak egyszer olvassa el a Fogyasztó (ami hasonló az Üzenet sorrendszerhez). További előnye, hogy az üzeneteket a brókerek megőrzik (egy ideig ezáltal hibatűrővé teszik), és ha egynél több Fogyasztói csoportunk van, akkor ugyanabból a témakörből származó üzeneteket tudnak olvasni, de eltérő módon dolgozzák fel őket.

Használja az esettanulmányt

Tegyük fel, hogy van egy egyszerű felhőplatformunk, ahol a következő műveleteket engedélyezzük a felhasználóknak:

  • Tárolja a fájlokat a Cloud-ban.
  • Tekintse meg fájljaikat a felhőben.
  • Töltse le fájljaikat a felhőből.

Az elején nagyon kicsi felhasználói bázisunk volt. Különböző statisztikákat (órás alapon) akartunk levezetni, például az aktív felhasználók, a feltöltési kérelmek száma, a letöltési kérelmek száma és így tovább. A követelmények teljesítése érdekében felállítottunk egy Kafka-klasztert, amely előállítja a naplókat (az alkalmazásunk által generált) egy témába, és van egy olyan alkalmazás, amely felhasználja a témát (egy Fogyasztóval), majd feldolgozza azt a szükséges statisztikák előállításához és végül megjelenítéséhez. azok, akik egy weboldalon vannak.

Ahogy az emberek kedvelték a szolgáltatásainkat, egyre több ember kezdte használni, így óránként sok naplót generált. Megállapítottuk, hogy a témát használó alkalmazás rendkívül lassúvá vált, mivel csak egy Fogyasztót használtunk. A probléma megoldása érdekében néhány fogyasztót adtunk a csoporthoz, és a teljesítmény jelentősen javult.

Felmerült egy másik követelmény, ahol a naplókat egy HDFS-fürtbe kellett írni, és ennek a folyamatnak az előző alkalmazástól függetlenül kell futnia (Ennek az az oka, hogy az adatok további növekedésével az első alkalmazás leállítását terveztük, és az összes statisztikát levezetjük) a HDFS környezetben). Ennek a követelménynek a teljesítéséhez kifejlesztettünk egy másik alkalmazást, amely egy másik fogyasztói csoport segítségével feliratkozott a témára, és az adatokat a HDFS-fürtbe írta.

Ajánlott cikkek

Ez a Kafka Fogyasztói Csoport útmutatója. Itt tárgyaljuk a Kafka fogyasztói csoport fontosságát és azt, hogy a Kafka hogyan áthidalja két modellt, annak használati eshetőségével együtt. A következő cikkeket is megnézheti további információkért -

  1. Kafka alkalmazások
  2. Hogyan telepítsük a Kafkát?
  3. Kafka interjúkérdések
  4. HDFS architektúra
  5. Különböző típusú Kafka eszközök