Скрыть последних авторов
Alexandr Fokin 28.1 1 **Компоненты:**
Alexandr Fokin 1.1 2
Alexandr Fokin 29.1 3 * Message - представляет из себя набор Key-Value значений.
Alexandr Fokin 28.1 4 * Producer - Производитель сообщений
5 * Consumer - Потребитель сообщений
6 * Topic - Отчасти похож на понятие классическую очередь, но отличается по поведению.
7 При отправке сообщение в топик, для него выбирается одиз из Partition, в который и размещается сообщение.
8 Содержит внутри себя одну и более Partition. Кол-во Partition определяет максимальную степень параллелизма при потреблении сообщений.
9 После потребления сообщения оно не удаляется сразу и некоторое время продолжает храниться и доступно для чтения.
10 * Partition - Представляет из себя очередь, содержащую последовательность экземпляров сообщений, при этом у каждого сообщения есть свой уникальный порядковый номер.
11 Для каждого читаемого Partition у потребителя храниться значение Offset - смещение, порядковый номер текущего сообщения. После прочтения Offset увеличивается на 1.
12 *
13 * CosumerGroup - Consumers, находящиеся в разных CosumerGroup, читают данные параллельно и независимо друг от друга. (Получают одни и те же сообщения)
14 В рамках одной ConsumerGroup кол-во активных Consumer не может быть больше чем кол-во Partition в рамках одного Topic.
15 Неактивные Consumer выполняет роль резервного и автоматически будут подключены, если один из активных Consumer выйдет из строя. (Или если количество Partition будет увеличино).
16 * Offset - смещение. Содержит информации о текущей позиции читателя для каждой пары <TopicName>.<PartitionId>, <ConsumerGroupId>.
Alexandr Fokin 22.1 17
Alexandr Fokin 28.1 18 ----
Alexandr Fokin 25.1 19
Alexandr Fokin 28.1 20 **Используемое ПО:**
Alexandr Fokin 25.1 21
Alexandr Fokin 28.1 22 **Zookeeper | [[Zookeeper>>doc:Разработка.Базы данных.NoSQL.Zookeeper.WebHome]]**
23
Alexandr Fokin 23.1 24 Ранее требовался для запуска.
Alexandr Fokin 5.1 25 Zookeeper выполняет роль хранилища метаданных и координатора. Также именно к zookeeper сперва пойдут producer и consumer, чтобы узнать, на каком брокере какие топики и партиции хранятся.
Alexandr Fokin 25.1 26 В более старых версиях Kafka zookeeper отвечал и за хранение оффсетов, но сейчас они хранятся в специальном топике __consumer_offsets на брокере__
Alexandr Fokin 5.1 27
28
Alexandr Fokin 28.1 29 **Материалы:**
Alexandr Fokin 18.1 30
Alexandr Fokin 28.1 31 Apache Kafka
32 https://kafka.apache.org/
Alexandr Fokin 19.1 33
Alexandr Fokin 28.1 34 Книга
35 [[Understanding Message Brokers | O’Reilly>>doc:Книги.O’Reilly.Understanding Message Brokers | O’Reilly.WebHome]]
36
Alexandr Fokin 19.1 37 Kafka и микросервисы: обзор
Alexandr Fokin 5.1 38 https://habr.com/ru/company/avito/blog/465315/
Alexandr Fokin 19.1 39
40 ksqlDB Quickstart
Alexandr Fokin 10.1 41 https://ksqldb.io/quickstart.html
Alexandr Fokin 19.1 42
43 Apache Kafka — Краткое руководство
Alexandr Fokin 11.1 44 https://coderlessons.com/tutorials/bolshie-dannye-i-analitika/vyuchit-apache-kafka/apache-kafka-kratkoe-rukovodstvo
Alexandr Fokin 19.1 45
Alexandr Fokin 21.1 46 Apache Kafka – Конспект
Alexandr Fokin 11.1 47 https://habr.com/ru/post/354486/
Alexandr Fokin 19.1 48
49 client.id Property
Alexandr Fokin 12.1 50 https://jaceklaskowski.gitbooks.io/apache-kafka/kafka-properties-client-id.html
Alexandr Fokin 5.1 51
Alexandr Fokin 19.1 52 Offset Explorer
53 Декстоп клиент для работы к Kafka. (Есть функционал просмотра содержимого топиков и отправки сообщений)
54 https://kafkatool.com/
55
Alexandr Fokin 21.1 56 Apache Kafka Use Cases (with Kafka Architecture Diagrams)
57 https://medium.com/softkraft/apache-kafka-use-cases-with-kafka-architecture-diagrams-577be32688e5
Alexandr Fokin 19.1 58
Alexandr Fokin 28.1 59 Kafka Tool
Alexandr Fokin 21.1 60
Alexandr Fokin 28.1 61 Understanding Kafka partition assignment strategies and how to write your own custom assignor
62 https://medium.com/streamthoughts/understanding-kafka-partition-assignment-strategies-and-how-to-write-your-own-custom-assignor-ebeda1fc06f3
63
64
Alexandr Fokin 19.1 65 **Клиенты:**
Alexandr Fokin 1.1 66
Alexandr Fokin 28.1 67 **[[Confluentinc.Confluent-kafka-dotnet>>doc:Разработка.NET.Библиотеки.Провайдеры.Брокеры сообщений.Confluentinc\.Confluent-kafka-dotnet.WebHome]] - c#**