vault backup: 2024-08-26 13:17:54

This commit is contained in:
Struchkov Mark 2024-08-26 13:17:54 +03:00
parent be67ae875d
commit ee6a600403
No known key found for this signature in database
GPG Key ID: A3F0AC3F0FA52F3C
4 changed files with 46 additions and 19 deletions

View File

@ -24,16 +24,16 @@
"unresolvedLinks": false, "unresolvedLinks": false,
"recentFilesStore": [ "recentFilesStore": [
{ {
"filepath": "_inbox/00 Kafka.md", "filepath": "_inbox/Docker-compose для запуска Kafka.md",
"timestamp": 1724667109342 "timestamp": 1724667335922
}, },
{ {
"filepath": "_inbox/Конфигурация Kafka.md", "filepath": "_inbox/Конфигурация Kafka.md",
"timestamp": 1724666977090 "timestamp": 1724667335329
}, },
{ {
"filepath": "_inbox/Docker-compose для запуска Kafka.md", "filepath": "_inbox/00 Kafka.md",
"timestamp": 1724666627185 "timestamp": 1724667109342
}, },
{ {
"filepath": "knowledge/health/болезни/Бессонница.md", "filepath": "knowledge/health/болезни/Бессонница.md",

View File

@ -1,16 +1,16 @@
{ {
"recentFiles": [ "recentFiles": [
{ {
"basename": "00 Kafka", "basename": "Запуск Kafka в docker-compose",
"path": "_inbox/00 Kafka.md" "path": "_inbox/Запуск Kafka в docker-compose.md"
}, },
{ {
"basename": "Конфигурация Kafka", "basename": "Конфигурация Kafka",
"path": "_inbox/Конфигурация Kafka.md" "path": "_inbox/Конфигурация Kafka.md"
}, },
{ {
"basename": "Docker-compose для запуска Kafka", "basename": "00 Kafka",
"path": "_inbox/Docker-compose для запуска Kafka.md" "path": "_inbox/00 Kafka.md"
}, },
{ {
"basename": "Бессонница", "basename": "Бессонница",

View File

@ -40,19 +40,12 @@ Apache Kafka это платформа потоковой передачи,
- Репликация журнала и синхронизация реплик - Репликация журнала и синхронизация реплик
- Уведомление о смещении (offset) получателя - Уведомление о смещении (offset) получателя
- Уведомление о получении сообщения - Уведомление о получении сообщения
- Данные хранятся в виде файлов. Файлы записываются в виде сегментов.
- Хранит свои записи на диске и не использует RAM. Использует кэш диска - Хранит свои записи на диске и не использует RAM. Использует кэш диска
- Операции считывания и записи выполняются за константное время. - Операции считывания и записи выполняются за константное время.
- Реализует последовательное чтение и запись на диск - Реализует последовательное чтение и запись на диск
- Работает через pull модель. Consumer сам должен опрашивать кафку. - Работает через pull модель. Consumer сам должен опрашивать кафку.
В отличии от [RabbitMQ](00%20RabbitMQ.md) кафка не реализует какой-то роутинг внутри. Предполагается, что за это отвечает consumer.
Терминология:
- Record - запись состоящая из ключа и значения
- Topic - имя потока, куда публикуются Record
- Offset - позиция записи
- Pratition - шард топика
Платформа: Платформа:
- API - API
- Producer - Producer
@ -62,7 +55,16 @@ Apache Kafka это платформа потоковой передачи,
- [Kafka Stream](Kafka%20Stream.md) - [Kafka Stream](Kafka%20Stream.md)
- ksqlDB - ksqlDB
Данные хранятся в виде файлов. Файлы записываются в виде сегментов В отличии от [RabbitMQ](00%20RabbitMQ.md) кафка не реализует какой-то роутинг внутри. Предполагается, что за это отвечает consumer.
Терминология:
- Record - запись состоящая из ключа и значения
- Topic - имя потока, куда публикуются Record
- Offset - позиция записи
- Pratition - шард топика
Доставка сообщений в Kafka может осуществляться как минимум тремя способами: Доставка сообщений в Kafka может осуществляться как минимум тремя способами:
- не менее одного раза (at-least-once) сообщение будет отправляется потребителям до тех пор, пока те не подтвердят его получение; - не менее одного раза (at-least-once) сообщение будет отправляется потребителям до тех пор, пока те не подтвердят его получение;
@ -103,7 +105,7 @@ Apache Kafka это платформа потоковой передачи,
## Дополнительно ## Дополнительно
- [Consumer Group](Consumer%20Group.md) - [Consumer Group](Consumer%20Group.md)
- [[Кластер Kafka]] - [[Кластер 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 sudo docker run -p 9000:9000 -e ZK_HOSTS="10.21.21.14:2181" sheepkiller/kafka-manager

View File

@ -48,4 +48,29 @@ services:
JVM_OPTS: "-Xms16M -Xmx48M -Xss180K -XX:-TieredCompilation -XX:+UseStringDeduplication -noverify" JVM_OPTS: "-Xms16M -Xmx48M -Xss180K -XX:-TieredCompilation -XX:+UseStringDeduplication -noverify"
depends_on: depends_on:
- "kafka" - "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
``` ```