Apache Kafka VS Amazon Kinesis

Úvod

Zpracování datových proudů se výrazně zvyšuje. V důsledku toho byly zavedeny různé platformy a rámce, aby se snížila složitost požadavků, jako jsou trvanlivé a škálovatelné vysokorychlostní přijímání dat. Zpracování v reálném čase může také učinit další běžné případy použití, jako je analýza webových stránek a strojové učení, přesnější a proveditelné tak, že data budou těmto aplikacím zpřístupněna v sekundách nebo minutách místo hodin nebo dnů. I když tradiční rámce pro zasílání zpráv typu pub-sub, jako jsou RabbitMQ a ActiveMQ, již pomáhají s těmito výzvami, jedním z řešení, které změnilo krajinu od počátku, je Apache Kafka. Apache Kafka, open-source pub / sub framework vyvinutý na LinkedIn, byl populární volbou pro celou řadu případů použití, jako je zpracování proudu a transformace dat, díky dobře navrženému, škálovatelnému a odolnému designu. Jedním z nedostatků Apache Kafka je však nedostatek cloudového nativního designu ve vysoké dostupnosti a monitorování. Ve výsledku jsme zjistili, že provozování a provozování Apache Kafka v cloudovém prostředí vyžaduje hodně času a úsilí vynaloženého operací a technickými týmy. Alternativou k Apache Kafka, ale s podobnými vlastnostmi, je Amazon Kinesis. Amazon Kinesis je služba přijímání dat hostovaná a spravovaná službou Amazon Web Services (AWS).

Umožňuje pochopit Apache Kafka vs Amazon Kinesis s trochou pozadí o publikování / odběru modelu obecně.

Základní obecné pojmy o hospodě / sub

1. Publikovat / Přihlásit se (Pub / Sub) Zprávy

Pub / Sub Messaging přináší škálovatelný, flexibilní a spolehlivý způsob zasílání upozornění na události pro distribuované aplikace. Poskytováním asynchronního zasílání zpráv mnoha příjemcům, které odděluje odesílatele a přijímače, umožňuje bezpečnou a vysoce dostupnou komunikaci mezi samostatně psanými aplikacemi. Pub / Sub poskytuje odolné zasílání zpráv s nízkou latencí, které pomáhá při rychlé integraci více aplikací. Zprávy Pub / Sub umožňují architektury založené na událostech a asynchronní oznámení událostí a zároveň zlepšují výkon, spolehlivost a škálovatelnost v distribuovaném prostředí.

2. Zprostředkovatel zpráv / fronta zpráv

Zprostředkovatel zpráv umožňuje aplikacím komunikovat vzájemným odesíláním zpráv / událostí. Aplikace publikují zprávy zprostředkovateli zpráv, které poskytují dočasné úložiště zpráv, a spotřebitelské aplikace tyto zprávy konzumují.

3. Vydavatel / Producent

Vydavatel vloží události do Broker.

4. Předplatitel / spotřebitel

Odběratel stahuje události od Broker.

O společnosti Apache Kafka

Apache Kafka je open-source distribuované řešení pub-sub messaging, které bylo původně vyvinuto na LinkedIn. Apache Kafka se skládá z více uzlů označovaných jako Brokers (Message Brokers). Makléři jsou odpovědní za přijímání zpráv (vůdců) a replikování zpráv ostatním makléřům v klastru (následovníci). Distribuovaná povaha Apache Kafka umožňuje systému škálovat se a poskytuje vysokou dostupnost (HA) v případě selhání uzlu. Členství (vedoucí a následovníci) Brokers v klastru je sledováno a spravováno prostřednictvím Apache Zookeeper, což je další open-source distribuovaný rámec členství.

O Amazon Kinesis

Amazon Kinesis, také řešení pub-sub messaging, je hostitelem Amazon Web Services (AWS) a poskytuje podobnou sadu funkcí jako Apache Kafka. Amazon Kinesis je plně spravovaná služba hostovaná v dané oblasti AWS (tj. Us-east-1) a pokrývá více zón dostupnosti (tj. Us-east-1a). Podobně jako Apache Kafka je Amazon Kinesis zodpovědná za přijímání zpráv koncových uživatelů a replikování zpráv do zón s více dostupnými funkcemi, aby byla zajištěna vysoká dostupnost a trvanlivost. Plně spravovaný aspekt Amazon Kinesis eliminuje potřebu uživatelů udržovat infrastrukturu nebo se obávat detailů obklopujících funkce, jako je replikace nebo jiné systémové konfigurace.

Klíčové rozdíly mezi Apache Kafka a Kinesis

Reference:
http://go.datapipe.com/whitepaper-kafka-vs-kinesis-download