From 1d1a4b60934f0c46939ef56de1cfd907a3c821da Mon Sep 17 00:00:00 2001 From: Struchkov Mark Date: Tue, 2 Jul 2024 19:38:27 +0300 Subject: [PATCH] vault backup: 2024-07-02 19:38:27 --- .obsidian/plugins/home-tab/data.json | 28 +++++++-------- .../plugins/recent-files-obsidian/data.json | 28 +++++++-------- .../книготека => .trash}/Кафка в действии.md | 13 ++++++- _inbox/Брокер сообщений.md | 12 +++++++ wiki/zero/00 Kafka.md | 34 +++++++++++++++++++ 5 files changed, 82 insertions(+), 33 deletions(-) rename {source/книги/книготека => .trash}/Кафка в действии.md (94%) create mode 100644 _inbox/Брокер сообщений.md create mode 100644 wiki/zero/00 Kafka.md diff --git a/.obsidian/plugins/home-tab/data.json b/.obsidian/plugins/home-tab/data.json index 3b932857..8644bce1 100644 --- a/.obsidian/plugins/home-tab/data.json +++ b/.obsidian/plugins/home-tab/data.json @@ -23,25 +23,21 @@ "markdownOnly": false, "unresolvedLinks": false, "recentFilesStore": [ + { + "filepath": "wiki/zero/00 Kafka.md", + "timestamp": 1719938290920 + }, + { + "filepath": "_inbox/Брокер сообщений.md", + "timestamp": 1719938280292 + }, + { + "filepath": "Home.md", + "timestamp": 1719938054255 + }, { "filepath": "_inbox/Индекс в PostgreSQL.md", "timestamp": 1719933867538 - }, - { - "filepath": "_inbox/Индексы в MySQL.md", - "timestamp": 1719933854879 - }, - { - "filepath": "_inbox/Транзакция БД.md", - "timestamp": 1719933704525 - }, - { - "filepath": "_inbox/Serializable.md", - "timestamp": 1719933618607 - }, - { - "filepath": "Проекты.md", - "timestamp": 1719933588467 } ], "bookmarkedFileStore": [], diff --git a/.obsidian/plugins/recent-files-obsidian/data.json b/.obsidian/plugins/recent-files-obsidian/data.json index a94957ec..c365973b 100644 --- a/.obsidian/plugins/recent-files-obsidian/data.json +++ b/.obsidian/plugins/recent-files-obsidian/data.json @@ -1,5 +1,17 @@ { "recentFiles": [ + { + "basename": "00 Kafka", + "path": "wiki/zero/00 Kafka.md" + }, + { + "basename": "Брокер сообщений", + "path": "_inbox/Брокер сообщений.md" + }, + { + "basename": "Home", + "path": "Home.md" + }, { "basename": "Индекс в PostgreSQL", "path": "_inbox/Индекс в PostgreSQL.md" @@ -28,10 +40,6 @@ "basename": "Проект. Обучение Highload", "path": "projects/Проект. Обучение Highload.md" }, - { - "basename": "Home", - "path": "Home.md" - }, { "basename": "Read committed", "path": "_inbox/Read committed.md" @@ -187,18 +195,6 @@ { "basename": "Досрочное погашение ипотеки", "path": "projects/Ремонт квартиры/Досрочное погашение ипотеки.md" - }, - { - "basename": "pg_stat_statements", - "path": "_inbox/pg_stat_statements.md" - }, - { - "basename": "Архитектура MySQL", - "path": "_inbox/Архитектура MySQL.md" - }, - { - "basename": "00 PostgreSQL", - "path": "wiki/zero/00 PostgreSQL.md" } ], "omittedPaths": [], diff --git a/source/книги/книготека/Кафка в действии.md b/.trash/Кафка в действии.md similarity index 94% rename from source/книги/книготека/Кафка в действии.md rename to .trash/Кафка в действии.md index 36e21b53..617f446d 100644 --- a/source/книги/книготека/Кафка в действии.md +++ b/.trash/Кафка в действии.md @@ -1,4 +1,15 @@ -Apache Kafka – это платформа потоковой передачи, которую можно использовать для быстрой обработки большого коли- чества событий. +--- +aliases: +tags: + - зрелость/🌱 +date: + - - 2024-07-02 +zero-link: + - "[[00 Kafka]]" +parents: [] +linked: +--- +Apache Kafka – это платформа потоковой передачи, которую можно использовать для быстрой обработки большого количества событий. Доставка сообщений в Kafka может осущест- вляться как минимум тремя способами: - не менее одного раза (at-least-once) – сообщение будет отправля- ется потребителям до тех пор, пока те не подтвердят его полу- чение; diff --git a/_inbox/Брокер сообщений.md b/_inbox/Брокер сообщений.md new file mode 100644 index 00000000..e1e9f213 --- /dev/null +++ b/_inbox/Брокер сообщений.md @@ -0,0 +1,12 @@ +--- +aliases: +tags: + - зрелость/🌱 +date: + - - 2024-07-02 +zero-link: + - "[[00 Архитектура ПО]]" +parents: +linked: +--- +- [Kafka](00%20Kafka.md) \ No newline at end of file diff --git a/wiki/zero/00 Kafka.md b/wiki/zero/00 Kafka.md new file mode 100644 index 00000000..a715c788 --- /dev/null +++ b/wiki/zero/00 Kafka.md @@ -0,0 +1,34 @@ +--- +aliases: + - кафка + - kafka +tags: + - type/zero-link +date: + - - 2024-07-02 + - - 2024-07-02 +zero-link: + - "[[00 Архитектура ПО]]" +linked: +--- +Apache Kafka – это платформа потоковой передачи, которую можно использовать для быстрой обработки большого количества событий. + +Доставка сообщений в Kafka может осуществляться как минимум тремя способами: +- не менее одного раза (at-least-once) – сообщение будет отправляется потребителям до тех пор, пока те не подтвердят его получение; +- не более одного раза (at-most-once) – сообщение отправляется только один раз и в случае сбоя не отправляется повторно; +- точно один раз (exactly-once) – потребитель гарантированно получит сообщение ровно один раз. + +![](c85390a0-94b2-48f9-8dea-02d9bacc2562.jpg) + +![](49356685-5474-490b-975a-d198d7f966bb.jpg) + +![](3ad2bf28-e12a-4be7-9336-c38c7b5d7018.jpg) + +Помимо различных семантик доставки, есть еще одно общее преимущество использования брокера сообщений – если приложение потребитель потерпело аварию или остановлено для тех- нического обслуживания, то производитель может не ждать, пока его сообщение будет обработано. Когда потребители возобновят работу и вернутся в сеть, они смогут продолжить с того места, на котором остановились, и обработать ожидающие сообщения. + +Платформа Kafka изначально была ориентирована на работу с несколькими потребителями. Это означает, что приложение, чи- тающее сообщение из брокера сообщений, не делает это сообще- ние недоступным для других приложений, которые также могут за- хотеть его получить и использовать. + +Сообщение, также называемое записью, является основной частью данных, проходящих через Kafka. Сообщения – это представле- ние ваших данных в Kafka. Каждое сообщение имеет отметку времени, значение и необязательный ключ. При желании также можно добавлять свои заголовки + +![](ae8f6a39-5a3f-4195-8f6a-0b96e492413c.jpg) +