Apache Kafka
ПО:
Zookeeper
Zookeeper выполняет роль хранилища метаданных и координатора. Также именно к zookeeper сперва пойдут producer и consumer, чтобы узнать, на каком брокере какие топики и партиции хранятся.
В более старых версиях Kafka zookeeper отвечал и за хранение оффсетов, но сейчас они хранятся в специальном топике consumer_offsets на брокере
Apache Kafka
Producer (Отправитель)
Consumer (Получатель)
Topic (Отчасти схож с очередью)
Partition (Topic может содержаться несколько разделов, позволяющих работать параллельно нескольким Consumer)
CosumerGroup (Consumers, находящиеся в разных CosumerGroup, читают данные параллельно и независимо друг от друга. (Получают одни и те же сообщения))
Простой запуст на Windows:
1) Раскоменнтировать и изменить строки в файле:
kafka_2.12-2.4.0\config\server.properties
listeners=PLAINTEXT://127.0.0.1:9092
advertised.listeners=PLAINTEXT://127.0.0.1:9092
2) Запустить ZooKeeper
kafka_2.12-2.4.0\bin\windows\zookeeper-server-start.bat "kafka_2.12-2.4.0\config\zookeeper.properties"
3) Запустить Kafka
kafka_2.12-2.4.0\bin\windows\kafka-server-start.bat "kafka_2.12-2.4.0\config\server.properties"
Для взаимодействия с ApacheKafka можное использовать консоль. Управляющие скрипты распологаются в папке:
kafka_2.12-2.4.0\bin\windows
Статьи:
https://habr.com/ru/company/avito/blog/465315/
https://ksqldb.io/quickstart.html
Развертывание:
bitnami.com | kafka (Docker, VM)
https://github.com/wurstmeister/kafka-docker
https://github.com/lensesio/fast-data-dev
Клиенты:
confluentinc/confluent-kafka-dotnet
Jroland/kafka-net