Apache Kafka

Kas ir Apache Kafka un kā tas darbojas?

Kas ir Apache Kafka un kā tas darbojas?

Šajā nodarbībā mēs redzēsim, kas ir Apache Kafka un kā tas darbojas kopā ar dažiem visizplatītākajiem lietošanas gadījumiem.  Apache Kafka sākotnēji tika izstrādāts LinkedIn 2010. gadā un pārcēlās par augstākā līmeņa Apache projektu 2012. gadā. Tam ir trīs galvenās sastāvdaļas:

Nākamajās sadaļās mēs izpētīsim daudz vairāk Kafka koncepciju. Ejam uz priekšu.

Apache Kafka koncepcijas

Pirms iedziļināties, mums rūpīgi jāaplūko daži Apache Kafka jēdzieni. Šeit ir termini, kas mums būtu jāzina ļoti īsi:

Tēmas starpsienas

Tēmas, tēmas starpsienu un nobīdes koncepciju var arī skaidri pateikt ar ilustratīvu attēlu:

Tēmas nodalījums un patērētāja kompensācija Apache Kafka

Apache Kafka kā Publish-abonēt ziņojumapmaiņas sistēmu

Izmantojot Kafka, Producer lietojumprogrammas publicē ziņojumus, kas nonāk Kafka mezglā, nevis tieši patērētājam. No šī Kafka mezgla ziņojumus patērē patērētāja lietojumprogrammas.

Kafka ražotājs un patērētājs

Tā kā viena tēma vienā piegājienā var iegūt daudz datu, lai Kafka būtu horizontāli mērogojama, katra tēma ir sadalīta starpsienas un katrs nodalījums var dzīvot jebkurā klastera mezglu mašīnā.

Arī šoreiz Kafka brokeris neved uzskaiti par to, kurš patērētājs ir patērējis cik datu paketes. Tas ir patērētāju atbildība sekot līdzi patērētajiem datiem. Sakarā ar to, ka Kafka neizseko katras patērētāja lietojumprogrammas apstiprinājumus un ziņojumus, tā var pārvaldīt daudz vairāk patērētāju ar nenozīmīgu ietekmi uz caurlaidi. Ražošanā daudzas lietojumprogrammas ievēro pat pakešu patērētāju modeli, kas nozīmē, ka patērētājs visus ziņojumus rindā patērē regulāri.

Uzstādīšana

Lai sāktu lietot Apache Kafka, tā jāinstalē mašīnā. Lai to izdarītu, lasiet Ubuntu sadaļā Apache Kafka instalēšana.

Izmantošanas gadījums: vietnes lietošanas izsekošana

Kafka ir lielisks rīks, ko izmantot, ja mums ir nepieciešams izsekot aktivitātei vietnē. Izsekošanas datos ietilpst, bet ne tikai, lapas skatījumi, meklējumi, augšupielādes vai citas darbības, kuras lietotāji var veikt. Kad lietotājs atrodas vietnē, viņš var veikt jebkuru darbību skaitu, kad viņš / viņa sērfo vietnē.

Piemēram, kad jauns lietotājs reģistrējas vietnē, darbību var izsekot kādā secībā jauns lietotājs izskata vietnes funkcijas, ja lietotājs nosaka savu profilu pēc nepieciešamības vai dod priekšroku tieši pāriet uz vietnes funkcijām. vietne. Ikreiz, kad lietotājs noklikšķina uz pogas, šīs pogas metadati tiek apkopoti datu paketē un nosūtīti uz Kafka kopu, no kuras lietojumprogrammas analīzes pakalpojums var apkopot šos datus un sniegt noderīgu ieskatu par saistītajiem datiem. Ja mēs vēlamies sadalīt uzdevumus pa soļiem, process izskatās šādi:

  1. Lietotājs reģistrējas vietnē un ieiet informācijas panelī. Lietotājs mēģina piekļūt funkcijai uzreiz, mijiedarbojoties ar pogu.
  2. Tīmekļa lietojumprogramma izveido ziņojumu ar šiem metadatiem tēmas sadaļai “klikšķis”.
  3. Ziņojums tiek pievienots saistību žurnālam, un kompensācija tiek palielināta
  4. Patērētājs tagad var izvilkt Kafka Broker ziņojumu un reāllaikā parādīt vietnes lietojumu un parādīt pagātnes datus, ja tas atiestata iespējamo pagātnes vērtību

Izmantošanas gadījums: ziņojumu rinda

Apache Kafka ir lielisks rīks, kas var darboties kā aizstājējs ziņojumu starpnieku rīkiem, piemēram, RabbitMQ. Asinhronā ziņojumapmaiņa palīdz atdalīt lietojumprogrammas un izveido ļoti pielāgojamu sistēmu.

Tāpat kā mikropakalpojumu jēdziens, tā vietā, lai izveidotu vienu lielu lietojumprogrammu, mēs varam sadalīt lietojumprogrammu vairākās daļās, un katrai daļai ir ļoti specifiska atbildība. Tādā veidā dažādās daļas var rakstīt arī pilnīgi neatkarīgās programmēšanas valodās! Kafka ir iebūvēta sadalīšanas, replikācijas un kļūdu tolerances sistēma, kas padara to par labu kā liela mēroga ziņojumu starpnieka sistēmu.

Nesen Kafka tiek uzskatīts arī par ļoti labu žurnālu vākšanas risinājumu, kas var pārvaldīt žurnālfailu kolekcijas servera starpnieku un piegādāt šos failus centrālajai sistēmai. Izmantojot Kafka, ir iespējams ģenerēt jebkuru notikumu, par kuru vēlaties zināt kādu citu jūsu lietojumprogrammas daļu.

Kafka lietošana vietnē LinkedIn

Interesanti atzīmēt, ka Apache Kafka agrāk tika uzskatīts un izmantots kā veids, kā padarīt datu cauruļvadus konsekventus un caur kuriem dati tika uzņemti Hadoop. Kafka strādāja izcili, kad bija vairāki datu avoti un galamērķi, un atsevišķa cauruļvada procesa nodrošināšana katrai avota un mērķa kombinācijai nebija iespējama. LinkedIn Kafka arhitekts Džejs Krepss labi pazīst šo problēmu emuāra ziņā:

Mana iesaistīšanās šajā jautājumā sākās apmēram 2008. gadā, kad mēs piegādājām savu galveno vērtību veikalu. Mans nākamais projekts bija mēģināt iedarbināt Hadoop iestatīšanu un pārvietot tur dažus mūsu ieteikumu procesus. Ņemot vērā to, ka šajā jomā ir maz pieredzes, mēs, protams, dažām nedēļām paredzējām datus datu iegūšanai un izņemšanai, bet pārējo laiku iedomātu prognozēšanas algoritmu ieviešanai. Tātad sākās ilgs lode.

Apache Kafka un Flume

Ja jūs pārvietojaties, lai salīdzinātu šos divus, pamatojoties uz to funkcijām, jūs atradīsit daudz kopīgu iezīmju. Šeit ir daži no tiem:

Secinājums

Šajā nodarbībā mēs aplūkojām daudzus jēdzienus par Apache Kafka. Lasiet vairāk ziņas, kuru pamatā ir Kafka.

Microsoft Sculpt Touch bezvadu peles apskats
Es nesen lasīju par Microsoft Sculpt Touch bezvadu pele un nolēma to nopirkt. Pēc kāda laika izmantošanas es nolēmu dalīties savā pieredzē ar to. Šo b...
AppyMouse ekrāna skārienpaliktnis un peles rādītājs Windows planšetdatoriem
Planšetdatoru lietotājiem bieži pietrūkst peles rādītāja, it īpaši, ja viņi parasti lieto klēpjdatorus. Skārienekrāna viedtālruņiem un planšetdatoriem...
Vidējā peles poga nedarbojas sistēmā Windows 10
The peles vidējā poga palīdz jums ritināt garas tīmekļa lapas un ekrānus ar lielu datu daudzumu. Ja tas apstājas, jūs galu galā izmantosiet tastatūru,...