Teknologian jakaminen

EIK Filebeat Kafka

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Johdatus kafkaan

1.kafka määritelmä

Kafka on hajautettu viestijono (MQ, Message Queue), joka perustuu julkaisu/tilausmalliin. Sitä käytetään pääasiassa reaaliaikaiseen laskemiseen ja lokien keräämiseen big datan alalla.

2. Kafkan esittely

Kafkan on alun perin kehittänyt Linkedin. Se on hajautettu viestiväliohjelmisto, joka tukee osioita, useita kopioita ja jota koordinoi Zookeeper kuten hadoop-pohjainen eräkäsittelyjärjestelmä, matalan latenssin reaaliaikainen järjestelmä, Spark/Flink-suoratoistomoottori, nginx-käyttöloki, viestipalvelu jne., kirjoitettu scala-kielellä,
Linkedin osallistui Apache Foundation -säätiöön vuonna 2010, ja siitä tuli avoimen lähdekoodin huippuprojekti.

3. Miksi tarvitset viestijonoa (MQ)

Suurin syy on se, että korkean samanaikaisuuden ympäristössä synkronointipyyntöjä ei käsitellä ajoissa ja pyynnöt usein estetään. Esimerkiksi suuri määrä pyyntöjä käyttää samanaikaisesti tietokantaa, mikä johtaa rivilukkoihin ja taulukoiden lukkiutumiseen. Lopuksi kerääntyy liian monta pyyntösäiettä, mikä laukaisee liian monta yhteysvirhettä ja laukaisee lumivyöryefektin.
Käytämme viestijonoja käsittelemään pyyntöjä asynkronisesti järjestelmän paineiden vähentämiseksi. Viestijonoja käytetään usein asynkronisessa käsittelyssä, liikennehuippujen poistamisessa, sovellusten kytkennän purkamisessa, viestiviestinnässä ja muissa skenaarioissa.

Tällä hetkellä yleisimpiä MQ-väliohjelmistoja ovat ActiveMQ, RabbitMQ, RocketMQ, Kafka jne.

4. Viestijonojen käytön edut

(1) Irrottaminen
Voit laajentaa tai muokata prosesseja molemmilla puolilla itsenäisesti, kunhan ne noudattavat samoja käyttöliittymän rajoituksia.

(2) Palautettavuus
Kun yksi järjestelmän komponentti epäonnistuu, se ei vaikuta koko järjestelmään. Sanomajono vähentää prosessien välistä kytkentää, joten vaikka viestejä käsittelevä prosessi katkaisee puhelun, jonoon lisätyt viestit voidaan silti käsitellä järjestelmän palautumisen jälkeen.

(3) Puskurointi
Se auttaa hallitsemaan ja optimoimaan tiedonkulun nopeutta järjestelmän läpi ja ratkaisemaan tuotantoviestien ja kuluttajaviestien epäjohdonmukaisten käsittelynopeuksien ongelman.

(4) Joustavuus