Изменения документа Apache Kafka

Редактировал(а) Alexandr Fokin 2024/09/07 11:00

<
От версии < 35.2
отредактировано Alexandr Fokin
на 2024/09/07 11:00
К версии < 12.11 >
отредактировано Alexandr Fokin
на 2020/06/30 10:02
Изменить комментарий: Редактировать комментарий

Комментарий

Подробности

Свойства страницы
Родительский документ
... ... @@ -1,1 +1,1 @@
1 -Разработка.Брокеры сообщений.WebHome
1 +Разработка.Очереди сообщений.WebHome
Теги
... ... @@ -1,1 +1,1 @@
1 -Apache|БрокерСообщений|ApacheKafka
1 +Apache|Kafka
Содержимое
... ... @@ -1,60 +4,67 @@
1 -| |Разработан на языке [[Java>>Разработка.JVM.Java.WebHome]]
2 -|Используемое ПО|(((
3 -**[[Apache ZooKeeper>>Разработка.Базы данных.NoSQL.Ключ-значение структура.Apache ZooKeeper.WebHome]]**
4 4  
5 -Ранее требовался для запуска.
2 +https://kafka.apache.org/
3 +
4 +ПО:
5 +**Zookeeper**
6 6  Zookeeper выполняет роль хранилища метаданных и координатора. Также именно к zookeeper сперва пойдут producer и consumer, чтобы узнать, на каком брокере какие топики и партиции хранятся.
7 -В более старых версиях Kafka zookeeper отвечал и за хранение офсетов, но сейчас они хранятся в специальном топике __consumer_offsets на брокере__
8 -)))
9 -|Материалы|(((
10 -|(((
11 -Apache Kafka
12 -[[https:~~/~~/kafka.apache.org/>>url:https://kafka.apache.org/]]
13 -)))|
14 -|Книга
15 -[[Understanding Message Brokers ~~| O’Reilly>>url:https://wiki.denhome.ru/bin/view/%D0%9A%D0%BD%D0%B8%D0%B3%D0%B8/O%E2%80%99Reilly/Understanding%20Message%20Brokers%20%7C%20O%E2%80%99Reilly/]]|
16 -|(((
17 -Kafka и микросервисы: обзор
18 -[[https:~~/~~/habr.com/ru/company/avito/blog/465315/>>url:https://habr.com/ru/company/avito/blog/465315/]]
19 -)))|
20 -|(((
21 -Apache Kafka — Краткое руководство
22 -[[https:~~/~~/coderlessons.com/tutorials/bolshie-dannye-i-analitika/vyuchit-apache-kafka/apache-kafka-kratkoe-rukovodstvo>>url:https://coderlessons.com/tutorials/bolshie-dannye-i-analitika/vyuchit-apache-kafka/apache-kafka-kratkoe-rukovodstvo]]
23 -)))|
24 -|Apache Kafka – Конспект
25 -[[https:~~/~~/habr.com/ru/post/354486/>>url:https://habr.com/ru/post/354486/]]|
26 -|client.id Property
27 -[[https:~~/~~/jaceklaskowski.gitbooks.io/apache-kafka/kafka-properties-client-id.html>>url:https://jaceklaskowski.gitbooks.io/apache-kafka/kafka-properties-client-id.html]]|
28 -|Kafka Tool / Offset Explorer
29 -Декстоп клиент для работы к Kafka. (Есть функционал просмотра содержимого топиков и отправки сообщений)
30 -[[https:~~/~~/kafkatool.com/>>url:https://kafkatool.com/]]|
31 -|Apache Kafka Use Cases (with Kafka Architecture Diagrams)
32 -[[https:~~/~~/medium.com/softkraft/apache-kafka-use-cases-with-kafka-architecture-diagrams-577be32688e5>>url:https://medium.com/softkraft/apache-kafka-use-cases-with-kafka-architecture-diagrams-577be32688e5]]|
33 -|Understanding Kafka partition assignment strategies and how to write your own custom assignor
34 -[[https:~~/~~/medium.com/streamthoughts/understanding-kafka-partition-assignment-strategies-and-how-to-write-your-own-custom-assignor-ebeda1fc06f3>>url:https://medium.com/streamthoughts/understanding-kafka-partition-assignment-strategies-and-how-to-write-your-own-custom-assignor-ebeda1fc06f3]]|
35 -| |
36 -)))
7 +В более старых версиях Kafka zookeeper отвечал и за хранение оффсетов, но сейчас они хранятся в специальном топике __consumer_offsets на брокере
37 37  
38 -----
9 +**Apache Kafka**
10 +Producer (Отправитель)
11 +Consumer (Получатель)
12 +Topic (Отчасти схож с очередью)
13 +Partition (Topic может содержаться несколько разделов, позволяющих работать параллельно нескольким Consumer)
14 +CosumerGroup (Consumers, находящиеся в разных CosumerGroup, читают данные параллельно и независимо друг от друга. (Получают одни и те же сообщения))
39 39  
40 -==== Внутренние ссылки: ====
16 +Простой запуст на Windows:
17 +1) Раскоменнтировать и изменить строки в файле:
18 +kafka_2.12-2.4.0\config\server.properties
19 +listeners=PLAINTEXT://127.0.0.1:9092
20 +advertised.listeners=PLAINTEXT://127.0.0.1:9092
41 41  
42 -====== Дочерние страницы: ======
22 +2) Запустить ZooKeeper
23 +{{code language="cmd"}}
24 +kafka_2.12-2.4.0\bin\windows\zookeeper-server-start.bat "kafka_2.12-2.4.0\config\zookeeper.properties"
25 +{{/code}}
26 +
27 +3) Запустить Kafka
28 +{{code language="cmd"}}
29 +kafka_2.12-2.4.0\bin\windows\kafka-server-start.bat "kafka_2.12-2.4.0\config\server.properties"
30 +{{/code}}
43 43  
44 -{{children/}}
45 45  
46 -====== Обратные ссылки: ======
33 +Для взаимодействия с ApacheKafka можное использовать консоль. Управляющие скрипты распологаются в папке:
34 +kafka_2.12-2.4.0\bin\windows
47 47  
48 -{{velocity}}
49 -#set ($links = $doc.getBacklinks())
50 -#if ($links.size() > 0)
51 - #foreach ($docname in $links)
52 - #set ($rdoc = $xwiki.getDocument($docname).getTranslatedDocument())
53 - * [[$escapetool.xml($rdoc.fullName)]]
54 - #end
55 -#else
56 - No back links for this page!
57 -#end
58 -{{/velocity}}
59 59  
60 -----
37 +Статьи:
38 +https://habr.com/ru/company/avito/blog/465315/
39 +https://ksqldb.io/quickstart.html
40 +https://coderlessons.com/tutorials/bolshie-dannye-i-analitika/vyuchit-apache-kafka/apache-kafka-kratkoe-rukovodstvo
41 +https://habr.com/ru/post/354486/
42 +https://jaceklaskowski.gitbooks.io/apache-kafka/kafka-properties-client-id.html
43 +
44 +Развертывание:
45 +[[bitnami.com | kafka (Docker, VM)>>https://bitnami.com/stack/kafka]]
46 +https://github.com/wurstmeister/kafka-docker
47 +https://github.com/lensesio/fast-data-dev
48 +
49 +
50 +Клиенты:
51 +[[confluentinc/confluent-kafka-dotnet>>https://github.com/confluentinc/confluent-kafka-dotnet]]
52 +[[Jroland/kafka-net>>https://github.com/Jroland/kafka-net]]
53 +
54 +
55 +KafkaConsoleTool:
56 +https://riptutorial.com/apache-kafka/topic/8990/kafka-console-tools
57 +https://medium.com/@TimvanBaarsen/apache-kafka-cli-commands-cheat-sheet-a6f06eac01b
58 +https://howtoprogram.xyz/2016/07/08/apache-kafka-command-line-interface/
59 +https://help.aiven.io/en/articles/2661525-viewing-and-resetting-consumer-group-offsets
60 +
61 +https://stackoverflow.com/questions/32697999/kafka-consumer-list
62 +https://stackoverflow.com/questions/35437681/kafka-get-partition-count-for-a-topic
63 +https://stackoverflow.com/questions/14755030/apache-kafka-consumer-state
64 +https://stackoverflow.com/questions/28156227/kafka-consumer-group-creation-with-specific-offset
65 +
66 +
67 +
XWiki.XWikiComments[0]
Автор
... ... @@ -1,0 +1,1 @@
1 +XWiki.cccc1808
Комментарий
... ... @@ -1,0 +1,3 @@
1 +Простой способ сбросить состояние тестового локального инстанса - удалить содержимое папок:
2 +Drive:\tmp\kafka-logs
3 +Drive:\tmp\zookeeper
Дата
... ... @@ -1,0 +1,1 @@
1 +2020-02-17 18:32:54.563
XWiki.XWikiComments[1]
Автор
... ... @@ -1,0 +1,1 @@
1 +XWiki.cccc1808
Комментарий
... ... @@ -1,0 +1,2 @@
1 +Если запросить группу сообщений и выполнить коммит последнего, то смещение установиться на позиции последнего элемента +1.
2 +Нет возможности закоммитить только определенное сообщение.
Дата
... ... @@ -1,0 +1,1 @@
1 +2020-02-17 18:44:48.607
XWiki.XWikiComments[2]
Автор
... ... @@ -1,0 +1,1 @@
1 +XWiki.cccc1808
Комментарий
... ... @@ -1,0 +1,3 @@
1 +При первом подключении Consumer по умолчанию подсоединиться к концу топика
2 +и не прочитает сообщения, уже имеющиеся в топике.
3 +(параметр AutoOffsetReset)
Дата
... ... @@ -1,0 +1,1 @@
1 +2020-03-03 20:29:19.403
XWiki.XWikiComments[3]
Автор
... ... @@ -1,0 +1,1 @@
1 +XWiki.cccc1808
Комментарий
... ... @@ -1,0 +1,14 @@
1 +{{code language="cmd"}}
2 +Список топиков
3 +kafka-topics.bat --bootstrap-server <server> --list
4 +
5 +Консольный consumer
6 +kafka-console-consumer.bat --bootstrap-server <server> --topic <topic> --from-beginning
7 +
8 +Данные по ConsumerGroup(текущее смещение)
9 +kafka-consumer-groups.bat --describe --group <ConsumerGroupId> --bootstrap-server <server>
10 +
11 +Удалить ConsumerGroup(смещения по группе)
12 +kafka-consumer-groups.bat --bootstrap-server <server> --delete --group <ConsumerGroupId>
13 +{{/code}}
14 +
Дата
... ... @@ -1,0 +1,1 @@
1 +2020-03-05 19:11:35.57
XWiki.XWikiComments[4]
Автор
... ... @@ -1,0 +1,1 @@
1 +XWiki.cccc1808
Комментарий
... ... @@ -1,0 +1,5 @@
1 +Вариант использования.
2 +В очереди скопилось много сообщений, которые можно пропустить. Необходимо начать читать свежие сообщения.
3 +
4 +1) Удалить ConsumerGroup.
5 +2) Подключить Consumer с заданным параметром AutoOffsetReset. (значение параметра - задать смещение с конца)
Дата
... ... @@ -1,0 +1,1 @@
1 +2020-06-30 10:02:02.880