diff --git a/.obsidian/plugins/home-tab/data.json b/.obsidian/plugins/home-tab/data.json index 69f09381..0f639d80 100644 --- a/.obsidian/plugins/home-tab/data.json +++ b/.obsidian/plugins/home-tab/data.json @@ -24,24 +24,24 @@ "unresolvedLinks": false, "recentFilesStore": [ { - "filepath": "wiki/zero/Микросервисная архитектура.md", - "timestamp": 1720005092731 + "filepath": "_inbox/Consumer Group.md", + "timestamp": 1720085593192 }, { - "filepath": "wiki/zero/00 Архитектура ПО.md", - "timestamp": 1720005091210 + "filepath": "_inbox/00 Kafka.md", + "timestamp": 1720085589204 + }, + { + "filepath": "_inbox/00 RabbitMQ.md", + "timestamp": 1720085493292 }, { "filepath": "_inbox/Монолитная архитектура.md", - "timestamp": 1720005089089 + "timestamp": 1720085492055 }, { "filepath": "_inbox/Монолитный ад.md", - "timestamp": 1720004935247 - }, - { - "filepath": "_inbox/Kafka.md", - "timestamp": 1719998664626 + "timestamp": 1720085491241 } ], "bookmarkedFileStore": [], diff --git a/.obsidian/plugins/recent-files-obsidian/data.json b/.obsidian/plugins/recent-files-obsidian/data.json index d78f34ff..9d26f075 100644 --- a/.obsidian/plugins/recent-files-obsidian/data.json +++ b/.obsidian/plugins/recent-files-obsidian/data.json @@ -1,12 +1,16 @@ { "recentFiles": [ { - "basename": "Микросервисная архитектура", - "path": "wiki/zero/Микросервисная архитектура.md" + "basename": "Consumer Group", + "path": "_inbox/Consumer Group.md" }, { - "basename": "00 Архитектура ПО", - "path": "wiki/zero/00 Архитектура ПО.md" + "basename": "00 Kafka", + "path": "_inbox/00 Kafka.md" + }, + { + "basename": "00 RabbitMQ", + "path": "_inbox/00 RabbitMQ.md" }, { "basename": "Монолитная архитектура", @@ -17,12 +21,12 @@ "path": "_inbox/Монолитный ад.md" }, { - "basename": "Kafka", - "path": "_inbox/Kafka.md" + "basename": "00 Архитектура ПО", + "path": "wiki/zero/00 Архитектура ПО.md" }, { - "basename": "00 RabbitMQ", - "path": "_inbox/00 RabbitMQ.md" + "basename": "Микросервисная архитектура", + "path": "wiki/zero/Микросервисная архитектура.md" }, { "basename": "Отставание реплики в БД", @@ -195,10 +199,6 @@ { "basename": "Проект. Ремонт квартиры", "path": "projects/Ремонт квартиры/Проект. Ремонт квартиры.md" - }, - { - "basename": "Проект. Дом Дурачок 2.0", - "path": "projects/Проект. Дом Дурачок 2.0.md" } ], "omittedPaths": [], diff --git a/_inbox/Kafka.md b/_inbox/00 Kafka.md similarity index 96% rename from _inbox/Kafka.md rename to _inbox/00 Kafka.md index e71f6961..9308185f 100644 --- a/_inbox/Kafka.md +++ b/_inbox/00 Kafka.md @@ -33,6 +33,8 @@ Apache Kafka – это платформа потоковой передачи, - Offset - позиция записи - Pratition - шард топика +Из одного Pratition может читать только один producer. Но producer может читать несколько Pratition одного и того же топика. + Доставка сообщений в Kafka может осуществляться как минимум тремя способами: - не менее одного раза (at-least-once) – сообщение будет отправляется потребителям до тех пор, пока те не подтвердят его получение; - не более одного раза (at-most-once) – сообщение отправляется только один раз и в случае сбоя не отправляется повторно; diff --git a/_inbox/Consumer Group.md b/_inbox/Consumer Group.md new file mode 100644 index 00000000..5a620df0 --- /dev/null +++ b/_inbox/Consumer Group.md @@ -0,0 +1,17 @@ +--- +aliases: +tags: + - зрелость/🌱 +date: + - - 2024-07-04 +zero-link: + - "[[00 Kafka]]" +parents: +linked: +--- +Consumer Group позволяет распределить сообщения в топике между различными консьюмерами. Тем самым распределив нагрузку между репликами. + +Этот механизм работает на базе партиций топика. В идеале + +Consumer Group автоматически перестраивается при изменении количества консьюмеов. +![](Pasted%20image%2020240704123320.png) \ No newline at end of file diff --git a/_inbox/Брокер сообщений.md b/_inbox/Брокер сообщений.md index 2ebc3400..0124540a 100644 --- a/_inbox/Брокер сообщений.md +++ b/_inbox/Брокер сообщений.md @@ -34,6 +34,6 @@ linked: Примеры реализаций брокеров сообщений: - [00 RabbitMQ](00%20RabbitMQ.md) -- [Kafka](Kafka.md) +- [00 Kafka](00%20Kafka.md) - [[NATS]] - [Redis](Redis.md) (pub/sub, stream) \ No newline at end of file diff --git a/meta/files/Pasted image 20240704123320.png b/meta/files/Pasted image 20240704123320.png new file mode 100644 index 00000000..1e04a6e5 Binary files /dev/null and b/meta/files/Pasted image 20240704123320.png differ diff --git a/wiki/zero/00 Nginx.md b/wiki/zero/00 Nginx.md index e54a5767..03b20286 100644 --- a/wiki/zero/00 Nginx.md +++ b/wiki/zero/00 Nginx.md @@ -37,4 +37,4 @@ ps aux | grep nginx - [Масштабируемая конфигурация nginx](https://highload.guide/blog/scalable-configuration-nginx.html) ## Заметки -- Есть какой-то модуль, который позволяет отправлять события в [Kafka](Kafka.md) \ No newline at end of file +- Есть какой-то модуль, который позволяет отправлять события в [00 Kafka](00%20Kafka.md) \ No newline at end of file