Apache Kafka: Susunod na Henerasyon na Ibinahagi ang Sistema ng Pagmemensahe



Nagbibigay ang Apache Kafka ng mataas na throughput at nasusukat na mga sistema ng pagmemensahe na ginagawa itong tanyag sa real-time analytics. Alamin kung paano makakatulong sa iyo ang isang tutorial na Apache kafka

Sa mundo ngayon, ang data ang pangunahing sangkap ng mga aplikasyon sa internet at karaniwang sumasaklaw sa mga sumusunod:





  • Mga pagbisita sa pahina at pag-click
  • Mga aktibidad ng gumagamit
  • Mga kaganapan na naaayon sa mga pag-login
  • Ang mga aktibidad sa social networking tulad ng mga gusto, pagbabahagi at mga komento
  • Mga sukatan na tumutukoy sa application (hal. Mga tala, oras ng pag-load ng pahina, pagganap atbp.)

Ito maaaring magamit ang data upang magpatakbo ng analytics sa real time paghahatid ng iba`t ibang mga layunin, ang ilan sa mga ito ay:

  • Paghahatid ng mga ad
  • Pagsubaybay sa mga abnormal na pag-uugali ng gumagamit
  • Nagpapakita ng paghahanap batay sa kaugnayan
  • Nagpapakita ng mga rekomendasyon batay sa mga nakaraang aktibidad

Problema: Ang pagkolekta ng lahat ng data ay hindi madali dahil ang data ay nabuo mula sa iba't ibang mga mapagkukunan sa iba't ibang mga format



Solusyon: Isa sa mga paraan upang malutas ang problemang ito ay ang paggamit ng isang sistema ng pagmemensahe. Ang mga system ng pagmemensahe ay nagbibigay ng isang seamless na pagsasama sa pagitan ng mga ipinamamahagi na mga application sa tulong ng mga mensahe.

apache-kafka-next-generation-distributed-messaging-system

Apache Kafka:



Ang Apache Kafka ay isang ipinamahagi na mag-publish ng sistema ng pagmemensahe ng pag-subscribe na orihinal na binuo sa LinkedIn at kalaunan ay naging bahagi ng proyekto ng Apache. Ang Kafka ay mabilis, mabilis, nasusukat at ipinamamahagi ng disenyo.

Kafka Architecture at Terminology:

Paksa: Ang isang daloy ng mga mensahe na kabilang sa isang partikular na kategorya ay tinatawag na isang paksa

Tagagawa: Ang isang tagagawa ay maaaring maging anumang application na maaaring mag-publish ng mga mensahe sa isang paksa

Mamimili: Ang isang mamimili ay maaaring maging anumang application na mag-subscribe sa mga paksa at ubusin ang mga mensahe

Broker: Ang Kafka cluster ay isang hanay ng mga server, na ang bawat isa ay tinatawag na isang broker

malaking paglalarawan sa trabaho ng developer ng data

Ang Kafka ay nasusukat at pinapayagan ang paglikha ng maraming uri ng mga kumpol.

  • Single Node Single Broker Cluster
  • Single Node Multiple Broker Cluster
  • Maramihang mga Node Maramihang Broker Cluster

Single Node Single Broker

Ano ang papel ng ZooKeeper?

Ang bawat Kafka broker ay nakikipag-ugnay sa iba pang mga Kafka broker na gumagamit ng ZooKeeper. Ang mga Producer at Consumer ay aabisuhan ng serbisyo ng ZooKeeper tungkol sa pagkakaroon ng mga bagong broker o pagkabigo ng broker sa sistemangKafka.

kung paano gamitin ang trim sa java

Single Node Maramihang Mga Broker

Maramihang mga Node Maramihang Mga Broker

Kafka @ LinkedIn

Ang LinkedIn Newsfeed ay pinalakas ng Kafka

Ang mga rekomendasyon ng LinkedIn ay pinalakas ng Kafka

Ang mga abiso sa LinkedIn ay pinalakas ng Kafka

Tandaan: Maliban dito, gumagamit ang LinkedIn ng Kafka para sa maraming iba pang mga gawain tulad ng pagsubaybay sa log, mga sukatan sa pagganap, pagpapabuti ng paghahanap, at iba pa.

Sino pa ang gumagamit ng Kafka?

DataSift: Gumagamit ang DataSift ng Kafka bilang isang kolektor ng mga kaganapan sa pagsubaybay at upang subaybayan ang pagkonsumo ng mga gumagamit ng mga stream ng data sa real time

Wooga: Gumagamit si Wooga ng Kafka upang pagsamahin at iproseso ang data ng pagsubaybay mula sa lahat ng kanilang mga laro sa Facebook (naka-host sa iba't ibang mga tagabigay) sa isang sentral na lokasyon

Spongecell: Gumagamit ang Spongecell ng Kafka upang patakbuhin ang buong analytics at pagsubaybay sa pipeline na nagmamaneho ng parehong real time at mga aplikasyon ng ETL

Loggly: Ang Loggly ay ang pinakatanyag na pamamahala ng log na nakabatay sa cloud. Gumagamit ito ng Kafka para sa koleksyon ng log.

Paghahambing na Pag-aaral: Kafka kumpara sa ActiveMQ kumpara sa RabbitMQ

Ang Kafka ay may isang mas mahusay na format ng imbakan. Sa isang average, ang bawat mensahe ay may overhead na 9 bytes sa Kafka, kumpara sa 144 bytes sa ActiveMQ

Sa parehong ActiveMQ at RabbitMQ, pinapanatili ng mga broker ang estado ng paghahatid ng bawat mensahe sa pamamagitan ng pagsulat sa disk ngunit sa kaso ng Kafka, walang disk magsulat, kaya't ginagawa itong mas mabilis.

Sa malawak na pag-aampon ng Kafka sa produksyon, mukhang isang promising solusyon ito para sa paglutas ng mga totoong problema sa mundo. Ang pagsasanay sa Apache Kafka ay maaaring makatulong sa iyo na mauna ang iyong mga kapantay sa isang real-time na karera sa analytics. Magsimula sa isang tutorial na Apache Kafka dito .

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento at babalikan ka namin.

Mga Kaugnay na Post:

mga uri ng operator sa javascript

Ano ang kailangan mo para sa isang karera sa Real-Time Analytics