Tervetuloa Kafkalandiin!

(Bartha Bela Tibor) (19. kesäkuuta 2020)

Johdanto

Jos olet joskus työskennellyt viestijono- tai suoratoistoalustojen kanssa, Kafka on tarkistettava asia. Se on paras käyttö reaaliaikaisessa tiedon suoratoistossa.

Jos harkitset Kafkaa sovelluksessasi, Kafka on paras seuraaviin käyttötapauksiin:

  • Pub / Alaviestit
  • Suoratoisto
  • Tietojen tallennus

Ennen kuin kosket Kafkaa, sinun on tiedettävä seuraavat seikat: Kafka palaa nopeasti, sinulla on valtava vapaus, ja on helppo mennä pieleen tullessasi toiselta viestijonoalustalta.

Tässä artikkelissa keskitymme tekemään asiat oikein Kafkan kanssa.

Key Käsitteet:

  • viesti : tietoyksikkö
  • aihe : datakanava
  • osio : aiheissa voi olla enemmän osioita
  • offset : viestin sijainti osiossa
  • tuottaja : antaa sovelluksen julkaista tietoja tietystä aiheesta
  • kuluttaja : sovellus voi kuluttaa tietoja yhdestä tai useammasta aiheesta. Yhdellä aiheesta voi olla useita kuluttajia. Kuluttajat voivat tilata minkä tahansa määrän aiheen osioita.
  • kuluttajaryhmät : kuluttajat voidaan järjestää rinnakkain eri ryhmistä lukeviin kuluttajaryhmiin, jotka lukevat aiheesta. osiot
  • välittäjä : hallinnoi aiheiden tallennusta
  • klusteri : useita välittäjiä, jotka sisältävät useita välittäjiä
  • johtaja / kopio : kukin välittäjä sisältää useita aiheen osioita, joista kukin voi olla johtaja tai kopio. Kaikki kirjoitukset ja lukemat aiheeseen suoritetaan johtajalle, joka koordinoi kopioiden päivittämistä. Jos johtaja epäonnistuu, kopio ottaa johtajan roolin.

Lisää Kafkan perusteista löytyy täältä .

Perustiedot Node.js: n kanssa

Tässä introssa käytämme Node.js: ää ja luomme perustuottajan ja kuluttajan.

Ensinnäkin, asennat Kafkan paikallisesti täällä kuvatulla tavalla.

Tässä artikkelissa oletetaan, että meillä on vain yksi välittäjä.

Aihe (t) luodaan ennen sovelluksemme suorittamista, katso alla.

Tämän johdannon kirjoittamisen hetkellä NodeJS: n kanssa on käytettävissä 3 vakaa pakettia:

  1. Solmu-rdkafka
  2. KafkaJS
  3. Kafka-solmu

Kaikki nämä toimivat samalla tavalla, käyttöönotossa käytämme solmua-rdkafka ( npm install node-rdkafka )

Olettaen, että olet asentanut Kafkan paikallisesti oletusasetuksilla ja perustanut yhden välittäjän, voimme luoda yksinkertaisen tuottajan ja kuluttajan.

Luo aihe manuaalisesti:

Luo tuottaja ja tuota tapahtuma:

Luo kuluttaja- ja kulutustapahtuma (t):

Tämä on esimerkki virtaavalle kuluttajalle. Se kuluttaa tapahtumia sellaisina kuin ne esiintyvät aiheesta. Toinen mahdollisuus on käyttää ei-virtaavaa kuluttajaa määrittämällä kulutettavien tapahtumien määrä parametrina kuluttajalle. Kuluttaa (numero). Tässä tapauksessa saamme viestit, kun aiheessa on useita käyttämättömiä viestejä.

Sitoumukset

Koska Kafka on suunniteltu vikaturvallisuuteen, kuluttajat voivat merkitä viestit kulutetuksi – sitoutunut . Oletusarvoisesti solmu-rdkafka suorittaa automaattisen sitoutumisen , ja se voidaan tehdä myös manuaalisesti: kuluttaja.sitoumus () tai kuluttaja.sitoumaviesti (viesti) .

Jos kuluttaja katkaisee yhteyden, toinen kuluttaja voi jatkaa sitoutuneesta viestistä.

Tervetuloa Kafkalandiin! Nauti!

Tämä on ensimmäinen neljän artikkelin sarjasta. Seurataan Kafkan erityistapauksia mikropalveluissa, chat-robotteissa ja fintech-projekteissa. Jee!

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *