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:
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