From 437ac30883cd3bf674db86c878d39e29f50f8e79 Mon Sep 17 00:00:00 2001 From: Struchkov Mark Date: Mon, 26 Aug 2024 13:07:54 +0300 Subject: [PATCH] vault backup: 2024-08-26 13:07:54 --- .obsidian/plugins/home-tab/data.json | 10 ++-- .../plugins/recent-files-obsidian/data.json | 8 +-- _inbox/00 Kafka.md | 18 ++++++- _inbox/Docker-compose для запуска Kafka.md | 51 +++++++++++++++++++ 4 files changed, 76 insertions(+), 11 deletions(-) create mode 100644 _inbox/Docker-compose для запуска Kafka.md diff --git a/.obsidian/plugins/home-tab/data.json b/.obsidian/plugins/home-tab/data.json index c7006370..407513af 100644 --- a/.obsidian/plugins/home-tab/data.json +++ b/.obsidian/plugins/home-tab/data.json @@ -25,7 +25,11 @@ "recentFilesStore": [ { "filepath": "_inbox/00 Kafka.md", - "timestamp": 1724666538643 + "timestamp": 1724666704047 + }, + { + "filepath": "_inbox/Docker-compose для запуска Kafka.md", + "timestamp": 1724666627185 }, { "filepath": "knowledge/health/болезни/Бессонница.md", @@ -38,10 +42,6 @@ { "filepath": "_inbox/Параметры улучшения звукоизоляции.md", "timestamp": 1724652252794 - }, - { - "filepath": "_inbox/Звукоизоляция квартиры.md", - "timestamp": 1724651998258 } ], "bookmarkedFileStore": [], diff --git a/.obsidian/plugins/recent-files-obsidian/data.json b/.obsidian/plugins/recent-files-obsidian/data.json index 4eac3771..03b354b3 100644 --- a/.obsidian/plugins/recent-files-obsidian/data.json +++ b/.obsidian/plugins/recent-files-obsidian/data.json @@ -4,6 +4,10 @@ "basename": "00 Kafka", "path": "_inbox/00 Kafka.md" }, + { + "basename": "Docker-compose для запуска Kafka", + "path": "_inbox/Docker-compose для запуска Kafka.md" + }, { "basename": "Бессонница", "path": "knowledge/health/болезни/Бессонница.md" @@ -195,10 +199,6 @@ { "basename": "Покраска стен", "path": "_inbox/Покраска стен.md" - }, - { - "basename": "Строительные краски", - "path": "_inbox/Строительные краски.md" } ], "omittedPaths": [], diff --git a/_inbox/00 Kafka.md b/_inbox/00 Kafka.md index c01c6225..de62eb58 100644 --- a/_inbox/00 Kafka.md +++ b/_inbox/00 Kafka.md @@ -13,6 +13,11 @@ linked: --- Apache Kafka – это платформа потоковой передачи, которую можно использовать для быстрой обработки большого количества событий. Строго говоря это не [Брокер сообщений](Брокер%20сообщений.md), а распределенный реплицированный журнал фиксаций изменений (commit log). +Основные возможности: +- Публиковать записи и подписываться на очереди сообщений (топики) +- Хранить записи с отказоустойчивостью +- Обрабатывать поток по мере их возникновения + Где встречается потребности в потоковой обработке: - Финансовые транзакции - Аналитика @@ -48,6 +53,16 @@ Apache Kafka – это платформа потоковой передачи, - Offset - позиция записи - Pratition - шард топика +Платформа: +- API + - Producer + - Consumer + - Admin +- [Kafka Connect](Kafka%20Connect.md) +- [Kafka Stream](Kafka%20Stream.md) +- ksqlDB + + Доставка сообщений в Kafka может осуществляться как минимум тремя способами: - не менее одного раза (at-least-once) – сообщение будет отправляется потребителям до тех пор, пока те не подтвердят его получение; - не более одного раза (at-most-once) – сообщение отправляется только один раз и в случае сбоя не отправляется повторно; @@ -87,8 +102,7 @@ Apache Kafka – это платформа потоковой передачи, ## Дополнительно - [Consumer Group](Consumer%20Group.md) - [[Кластер Kafka]] -- [Kafka Connect](Kafka%20Connect.md) -- [Kafka Stream](Kafka%20Stream.md) +- [Docker-compose для запуска Kafka](Docker-compose%20для%20запуска%20Kafka.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/Docker-compose для запуска Kafka.md new file mode 100644 index 00000000..c68e9614 --- /dev/null +++ b/_inbox/Docker-compose для запуска Kafka.md @@ -0,0 +1,51 @@ +--- +aliases: +tags: + - зрелость/🌱 +date: + - - 2024-08-26 +zero-link: + - "[[00 Kafka]]" +parents: +linked: +--- +```yml +version: '3.1' + +services: + + zookeeper: + image: confluentinc/cp-zookeeper:latest + environment: + ZOOKEEPER_CLIENT_PORT: 2181 + ZOOKEEPER_TICK_TIME: 2000 + ports: + - 2181:2181 + + kafka: + image: confluentinc/cp-kafka:latest + depends_on: + - zookeeper + ports: + - 19092:19092 + - 9092:9092 + environment: + KAFKA_BROKER_ID: 1 + KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 + KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,PLAINTEXT_HOST://localhost:19092 + KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT + KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT + KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 + + + kafdrop: + image: obsidiandynamics/kafdrop + restart: "no" + ports: + - 9900:9000 + environment: + KAFKA_BROKERCONNECT: "kafka:9092" + JVM_OPTS: "-Xms16M -Xmx48M -Xss180K -XX:-TieredCompilation -XX:+UseStringDeduplication -noverify" + depends_on: + - "kafka" +``` \ No newline at end of file