Apache Kafka: sistema de missatgeria distribuïda de nova generació



Apache Kafka proporciona sistemes de missatgeria escalables i de gran rendiment que el fan popular en analítiques en temps real. Obteniu informació sobre com us pot ajudar un tutorial d'Apache kafka

Al món actual, les dades són l’ingredient principal d’aplicacions d’Internet i normalment inclou el següent:





  • Visites a la pàgina i clics
  • Activitats dels usuaris
  • Esdeveniments corresponents a inicis de sessió
  • Activitats de xarxes socials com ara m'agrada, comparteix i comentaris
  • Mètriques específiques de l'aplicació (per exemple, registres, temps de càrrega de la pàgina, rendiment, etc.)

Això les dades es poden utilitzar per executar analítiques en temps real amb diversos propòsits, alguns dels quals són:

  • Lliurament d’anuncis publicitaris
  • Seguiment de comportaments anormals dels usuaris
  • Mostrar la cerca segons la rellevància
  • Es mostren recomanacions basades en activitats anteriors

Problema: No és fàcil recollir totes les dades, ja que es generen dades de diverses fonts en diferents formats



Solució: Una de les maneres de solucionar aquest problema és utilitzar un sistema de missatgeria. Els sistemes de missatgeria proporcionen una integració perfecta entre aplicacions distribuïdes amb l'ajuda de missatges.

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

Apache Kafka:



Apache Kafka és un sistema de missatgeria de subscripció de publicació distribuïda que es va desenvolupar originalment a LinkedIn i més endavant va passar a formar part del projecte Apache. Kafka és ràpid, àgil, escalable i distribuït pel disseny.

Arquitectura i terminologia de Kafka:

analitzeu el fitxer XML a Java

Tema: Un flux de missatges que pertanyen a una categoria determinada s’anomena tema

Productor : Un productor pot ser qualsevol aplicació que pugui publicar missatges sobre un tema

Consumidor: Un consumidor pot ser qualsevol aplicació que subscrigui temes i consumeixi els missatges

Corredor: El clúster Kafka és un conjunt de servidors, cadascun dels quals s’anomena broker

Kafka és escalable i permet la creació de múltiples tipus de clústers.

  • Clúster de broker únic de node únic
  • Clúster de corredors múltiples d'un sol node
  • Clúster de diversos corredors de diversos nodes

Single Node Single Broker

Quin és el paper de ZooKeeper?

Cada corredor de Kafka es coordina amb altres corredors de Kafka mitjançant ZooKeeper. El servei ZooKeeper notifica als productors i consumidors sobre la presència de nous corredors o el fracàs del corredor al sistema Kafka.

Corredors múltiples d'un sol node

Múltiples nodes Corredors múltiples

Kafka @ LinkedIn

LinkedIn Newsfeed està impulsat per Kafka

Les recomanacions de LinkedIn estan impulsades per Kafka

Les notificacions de LinkedIn són impulsades per Kafka

Nota: A part d’això, LinkedIn utilitza Kafka per a moltes altres tasques com la supervisió de registres, mètriques de rendiment, millora de la cerca, entre d’altres.

Qui més utilitza Kafka?

DataSift: DataSift utilitza Kafka com a col·leccionista de seguiment d’esdeveniments i per fer un seguiment del consum de fluxos de dades dels usuaris en temps real

Wooga: Wooga utilitza Kafka per agregar i processar dades de seguiment de tots els seus jocs de Facebook (allotjats en diversos proveïdors) en una ubicació central

Cèl·lula esponjosa: Spongecell utilitza Kafka per executar tota la seva canalització d’anàlisi i monitorització que condueix aplicacions ETL i en temps real

Loggly: Loggly és la gestió de registres basada en el núvol més popular del món. Utilitza Kafka per a la recollida de registres.

Estudi comparatiu: Kafka vs. ActiveMQ vs. RabbitMQ

passa per valor i passa per referència a java

Kafka té un format d’emmagatzematge més eficient: de mitjana, cada missatge té una sobrecàrrega de 9 bytes a Kafka, enfront de 144 bytes a ActiveMQ

Tant en ActiveMQ com en RabbitMQ, els corredors mantenen l'estat de lliurament de tots els missatges escrivint al disc, però en el cas de Kafka, no hi ha escriptura en disc, de manera que és més ràpida.

Amb l’adopció àmplia de Kafka en producció, sembla ser una solució prometedora per resoldre problemes del món real. La formació d’Apache Kafka us pot ajudar a avançar-vos als vostres companys en una carrera d’anàlisi en temps real. Comenceu amb un tutorial d'Apache Kafka aquí .

Tens alguna pregunta? Esmenta’l a la secció de comentaris i et respondrem.

Articles Relacionats:

El que necessiteu per a una carrera en Analytics en temps real