From ee6a6004037fec883cea194567234cd2947df1c0 Mon Sep 17 00:00:00 2001 From: Struchkov Mark Date: Mon, 26 Aug 2024 13:17:54 +0300 Subject: [PATCH] vault backup: 2024-08-26 13:17:54 --- .obsidian/plugins/home-tab/data.json | 10 ++++---- .../plugins/recent-files-obsidian/data.json | 8 +++--- _inbox/00 Kafka.md | 22 ++++++++-------- ...ска Kafka.md => Запуск Kafka в docker-compose.md} | 25 +++++++++++++++++++ 4 files changed, 46 insertions(+), 19 deletions(-) rename _inbox/{Docker-compose для запуска Kafka.md => Запуск Kafka в docker-compose.md} (73%) diff --git a/.obsidian/plugins/home-tab/data.json b/.obsidian/plugins/home-tab/data.json index 3a2f52ce..a7db3065 100644 --- a/.obsidian/plugins/home-tab/data.json +++ b/.obsidian/plugins/home-tab/data.json @@ -24,16 +24,16 @@ "unresolvedLinks": false, "recentFilesStore": [ { - "filepath": "_inbox/00 Kafka.md", - "timestamp": 1724667109342 + "filepath": "_inbox/Docker-compose для запуска Kafka.md", + "timestamp": 1724667335922 }, { "filepath": "_inbox/Конфигурация Kafka.md", - "timestamp": 1724666977090 + "timestamp": 1724667335329 }, { - "filepath": "_inbox/Docker-compose для запуска Kafka.md", - "timestamp": 1724666627185 + "filepath": "_inbox/00 Kafka.md", + "timestamp": 1724667109342 }, { "filepath": "knowledge/health/болезни/Бессонница.md", diff --git a/.obsidian/plugins/recent-files-obsidian/data.json b/.obsidian/plugins/recent-files-obsidian/data.json index d32985ab..b10465d6 100644 --- a/.obsidian/plugins/recent-files-obsidian/data.json +++ b/.obsidian/plugins/recent-files-obsidian/data.json @@ -1,16 +1,16 @@ { "recentFiles": [ { - "basename": "00 Kafka", - "path": "_inbox/00 Kafka.md" + "basename": "Запуск Kafka в docker-compose", + "path": "_inbox/Запуск Kafka в docker-compose.md" }, { "basename": "Конфигурация Kafka", "path": "_inbox/Конфигурация Kafka.md" }, { - "basename": "Docker-compose для запуска Kafka", - "path": "_inbox/Docker-compose для запуска Kafka.md" + "basename": "00 Kafka", + "path": "_inbox/00 Kafka.md" }, { "basename": "Бессонница", diff --git a/_inbox/00 Kafka.md b/_inbox/00 Kafka.md index eb24af5e..ffbf73db 100644 --- a/_inbox/00 Kafka.md +++ b/_inbox/00 Kafka.md @@ -40,19 +40,12 @@ Apache Kafka – это платформа потоковой передачи, - Репликация журнала и синхронизация реплик - Уведомление о смещении (offset) получателя - Уведомление о получении сообщения +- Данные хранятся в виде файлов. Файлы записываются в виде сегментов. - Хранит свои записи на диске и не использует RAM. Использует кэш диска - Операции считывания и записи выполняются за константное время. - Реализует последовательное чтение и запись на диск - Работает через pull модель. Consumer сам должен опрашивать кафку. -В отличии от [RabbitMQ](00%20RabbitMQ.md) кафка не реализует какой-то роутинг внутри. Предполагается, что за это отвечает consumer. - -Терминология: -- Record - запись состоящая из ключа и значения -- Topic - имя потока, куда публикуются Record -- Offset - позиция записи -- Pratition - шард топика - Платформа: - API - Producer @@ -62,7 +55,16 @@ Apache Kafka – это платформа потоковой передачи, - [Kafka Stream](Kafka%20Stream.md) - ksqlDB -Данные хранятся в виде файлов. Файлы записываются в виде сегментов +В отличии от [RabbitMQ](00%20RabbitMQ.md) кафка не реализует какой-то роутинг внутри. Предполагается, что за это отвечает consumer. + +Терминология: +- Record - запись состоящая из ключа и значения +- Topic - имя потока, куда публикуются Record +- Offset - позиция записи +- Pratition - шард топика + + + Доставка сообщений в Kafka может осуществляться как минимум тремя способами: - не менее одного раза (at-least-once) – сообщение будет отправляется потребителям до тех пор, пока те не подтвердят его получение; @@ -103,7 +105,7 @@ Apache Kafka – это платформа потоковой передачи, ## Дополнительно - [Consumer Group](Consumer%20Group.md) - [[Кластер Kafka]] -- [Docker-compose для запуска Kafka](Docker-compose%20для%20запуска%20Kafka.md) +- [Запуск Kafka в docker-compose](Запуск%20Kafka%20в%20docker-compose.md) ``` sudo docker run -p 9000:9000 -e ZK_HOSTS="10.21.21.14:2181" sheepkiller/kafka-manager diff --git a/_inbox/Docker-compose для запуска Kafka.md b/_inbox/Запуск Kafka в docker-compose.md similarity index 73% rename from _inbox/Docker-compose для запуска Kafka.md rename to _inbox/Запуск Kafka в docker-compose.md index c68e9614..18e40575 100644 --- a/_inbox/Docker-compose для запуска Kafka.md +++ b/_inbox/Запуск Kafka в docker-compose.md @@ -48,4 +48,29 @@ services: JVM_OPTS: "-Xms16M -Xmx48M -Xss180K -XX:-TieredCompilation -XX:+UseStringDeduplication -noverify" depends_on: - "kafka" +``` + +``` +docker-compose up -d +``` + +``` +docker exec -it kafka-test-kafka-1 bash +``` + +Создание топика +``` +kafka-topics --bootstrap-server localhost:9092 --topic test --create +``` + +``` +kafka-topics --bootstrap-server localhost:9092 --list +``` + +``` +kafka-console-consumer --bootstrap-server localhost:9092 --topic test +``` + +``` +kafka-console-producer --bootstrap-server localhost:9092 --topic test ``` \ No newline at end of file