Apache Kafka

Začínáme s Apache Kafka a Python

Začínáme s Apache Kafka a Python
V této lekci uvidíme, jak můžeme použít Apache Kafka s Pythonem a vytvořit ukázkovou aplikaci pomocí klienta Pythonu pro Apache Kafka.

K dokončení této lekce musíte mít na svém počítači aktivní instalaci Kafky. Přečtěte si článek Instalace Apache Kafka na Ubuntu a zjistěte, jak na to.

Instalace klienta Pythonu pro Apache Kafka

Než můžeme začít pracovat s Apache Kafka v programu Python, musíme si nainstalovat klienta Pythonu pro Apache Kafka. To lze provést pomocí pip (Python Package Index). Zde je příkaz k dosažení tohoto cíle:

pip3 nainstalujte kafka-python

Bude to rychlá instalace na terminál:

Instalace klienta Python Kafka pomocí PIP

Nyní, když máme aktivní instalaci pro Apache Kafka a nainstalovali jsme také klienta Python Kafka, jsme připraveni začít programovat.

Výroba producenta

První věcí, kterou je třeba publikovat na Kafce, je aplikace producenta, která může posílat zprávy na témata v Kafce.

Upozorňujeme, že producenti Kafky jsou producenti asynchronních zpráv. To znamená, že operace prováděné při publikování zprávy v oddílu Kafka Topic neblokují. Aby to nebylo jednoduché, napíšeme pro tuto lekci jednoduchého vydavatele JSON.

Začněte vytvořením instance pro producenta Kafka:

z importu kafky KafkaProducer
importovat JSON
importovat tisk
producent = KafkaProducer (
bootstrap_servers = 'localhost: 9092',
value_serializer = lambda v: json.skládky (v).enkódovat ('utf-8'))

Atribut bootstrap_servers informuje o hostiteli a portu pro server Kafka. Atribut value_serializer je jen pro účely serializace JSON zjištěných hodnot JSON.

Abychom si mohli hrát s producentem Kafky, zkusme vytisknout metriky související s klastrem Producer a Kafka:

metriky = producent.metriky ()
tisk.pprint (metriky)

Nyní uvidíme následující:

Kafka Mterics

Nyní zkusme konečně odeslat nějakou zprávu do fronty Kafka. Dobrým příkladem bude jednoduchý objekt JSON:

výrobce.send ('linuxhint', 'topic': 'kafka')

The linuxhint je tematický oddíl, na který bude odeslán objekt JSON. Když spustíte skript, nebudete mít žádný výstup, protože zpráva se právě odešle do tematické oblasti. Je čas napsat spotřebitele, abychom mohli otestovat naši aplikaci.

Vytváření spotřebitele

Nyní jsme připraveni vytvořit nové připojení jako aplikaci pro spotřebitele a získávat zprávy z tématu Kafka. Začněte vytvořením nové instance pro spotřebitele:

z importu kafka KafkaConsumer
z importu kafky TopicPartition
print ('Vytváření připojení.')
consumer = KafkaConsumer (bootstrap_servers = 'localhost: 9092')

Nyní přiřaďte tomuto připojení téma a také možnou hodnotu posunutí.

print ('Přiřazení tématu.')
spotřebitel.assign ([TopicPartition ('linuxhint', 2)]))

Nakonec jsme připraveni tisknout mssage:

print ('Získávám zprávu.')
pro zprávu ve spotřebiteli:
print ("OFFSET:" + str (zpráva [0]) + "\ t MSG:" + str (zpráva))

Prostřednictvím toho získáme seznam všech publikovaných zpráv v oddílu pro spotřebitele Kafka. Výstupem pro tento program bude:

Spotřebitel Kafka

Pro rychlou referenci je zde kompletní skript Producenta:

z importu kafky KafkaProducer
importovat JSON
importovat tisk
producent = KafkaProducer (
bootstrap_servers = 'localhost: 9092',
value_serializer = lambda v: json.skládky (v).enkódovat ('utf-8'))
výrobce.send ('linuxhint', 'topic': 'kafka')
# metrics = producent.metriky ()
# tisk.pprint (metriky)

A tady je kompletní spotřebitelský program, který jsme použili:

z importu kafka KafkaConsumer
z importu kafky TopicPartition
print ('Vytváření připojení.')
consumer = KafkaConsumer (bootstrap_servers = 'localhost: 9092')
print ('Přiřazení tématu.')
spotřebitel.assign ([TopicPartition ('linuxhint', 2)]))
print ('Získávám zprávu.')
pro zprávu ve spotřebiteli:
print ("OFFSET:" + str (zpráva [0]) + "\ t MSG:" + str (zpráva))

Závěr

V této lekci jsme se podívali na to, jak můžeme nainstalovat a začít používat Apache Kafka v našich programech Pythonu. Ukázali jsme, jak snadné je provádět jednoduché úkoly související s Kafkou v Pythonu pomocí předvedeného klienta Kafka pro Python.

Hry Jak používat GameConqueror Cheat Engine v Linuxu
Jak používat GameConqueror Cheat Engine v Linuxu
Tento článek popisuje průvodce používáním cheatovacího modulu GameConqueror v systému Linux. Mnoho uživatelů, kteří hrají hry v systému Windows, často...
Hry Nejlepší emulátory herních konzolí pro Linux
Nejlepší emulátory herních konzolí pro Linux
Tento článek uvádí seznam populárního softwaru pro emulaci herních konzolí, který je k dispozici pro Linux. Emulace je vrstva softwarové kompatibility...
Hry Nejlepší linuxové distribuce pro hraní her v roce 2021
Nejlepší linuxové distribuce pro hraní her v roce 2021
Operační systém Linux má za sebou dlouhou cestu od svého původního, jednoduchého vzhledu založeného na serveru. Tento OS se v posledních letech nesmír...