Apache Kafka: Systém distribuovaných zpráv nové generace



Apache Kafka poskytuje vysokou propustnost a škálovatelné systémy zasílání zpráv, díky nimž je populární v analýze v reálném čase. Zjistěte, jak vám může pomoci výukový program Apache kafka

V dnešním světě, údaje jsou hlavní složkou internetových aplikací a obvykle zahrnuje následující:





  • Návštěvy stránek a kliknutí
  • Činnosti uživatelů
  • Události odpovídající přihlášení
  • Činnosti v sociálních sítích, jako jsou lajky, sdílení a komentáře
  • Metriky specifické pro aplikaci (např. Protokoly, doba načítání stránky, výkon atd.)

Tento data lze použít ke spuštění analýzy v reálném čase slouží různým účelům, z nichž některé jsou:

  • Doručování reklam
  • Sledování neobvyklého chování uživatelů
  • Zobrazení vyhledávání na základě relevance
  • Zobrazení doporučení na základě předchozích aktivit

Problém: Shromažďování všech dat není snadné, protože data jsou generována z různých zdrojů v různých formátech



Řešení: Jedním ze způsobů řešení tohoto problému je použití systému zasílání zpráv. Systémy zasílání zpráv poskytují bezproblémovou integraci mezi distribuovanými aplikacemi pomocí zpráv.

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

Apache Kafka:



Apache Kafka je distribuovaný systém pro zasílání zpráv o publikování a odběru, který byl původně vyvinut na LinkedIn a později se stal součástí projektu Apache. Kafka je rychlá, hbitá, škálovatelná a distribuovaná záměrně.

Kafkova architektura a terminologie:

Téma: Proud zpráv patřících do určité kategorie se nazývá téma

Výrobce: Producentem může být jakákoli aplikace, která může publikovat zprávy k tématu

Spotřebitel: Spotřebitelem může být jakákoli aplikace, která se přihlásí k odběru témat a spotřebuje zprávy

Zprostředkovatel: Kafka cluster je sada serverů, z nichž každý se nazývá broker

Kafka je škálovatelná a umožňuje vytváření více typů klastrů.

nainstalovat php na Windows 8
  • Single Node Single Broker Cluster
  • Seskupení makléřů s jedním uzlem
  • Vícenásobné uzly Vícenásobný makléřský klastr

Single Node Single Broker

Jaká je role ZooKeeper?

Každý zprostředkovatel Kafka se koordinuje s ostatními zprostředkovateli Kafka pomocí ZooKeeper. Producenti a spotřebitelé jsou službou ZooKeeper informováni o přítomnosti nových zprostředkovatelů nebo selhání zprostředkovatele v systému Kafka.

Jeden uzel více makléřů

Více uzlů Více makléřů

Kafka @ LinkedIn

LinkedIn Newsfeed využívá technologii Kafka

Doporučení pro LinkedIn jsou založeny na Kafce

Oznámení na LinkedIn jsou napájena společností Kafka

Poznámka: Kromě toho LinkedIn používá Kafku pro mnoho dalších úkolů, jako je monitorování protokolů, metriky výkonu, zlepšování vyhledávání a další.

Kdo jiný používá Kafku?

DataSift: DataSift používá Kafku jako sběratel monitorovacích událostí a ke sledování spotřeby datových toků uživateli v reálném čase

Wooga: Wooga používá Kafku k agregaci a zpracování údajů o sledování ze všech jejich her na Facebooku (hostovaných u různých poskytovatelů) na centrálním místě

Spongecell: Spongecell používá Kafku ke spuštění celého svého analytického a monitorovacího kanálu, který řídí jak aplikace v reálném čase, tak ETL

Loggly: Loggly je nejoblíbenější cloudová správa protokolů na světě. Pro sběr protokolů používá Kafku.

Srovnávací studie: Kafka vs. ActiveMQ vs. RabbitMQ

Kafka má efektivnější formát úložiště. Každá zpráva má v průměru režii 9 bajtů v Kafce oproti 144 bajtů v ActiveMQ

V ActiveMQ i RabbitMQ udržují makléři stav doručení každé zprávy zápisem na disk, ale v případě Kafky nedochází k žádnému zápisu na disk, a proto je rychlejší.

Vzhledem k širokému přijetí Kafky ve výrobě se zdá být slibným řešením pro řešení problémů v reálném světě. Školení Apache Kafka vám pomůže dostat se před kolegy v analytické kariéře v reálném čase. Začněte výukovým programem Apache Kafka tady .

Máte na nás dotaz? Uveďte to prosím v sekci komentáře a my se vám ozveme.

Související příspěvky:

Co potřebujete pro kariéru v analytice v reálném čase