From be35aa32f725cf640f5a9c941c9bef9e5a4a1429 Mon Sep 17 00:00:00 2001 From: Struchkov Mark Date: Wed, 3 Jul 2024 09:30:43 +0300 Subject: [PATCH] vault backup: 2024-07-03 09:30:43 --- .obsidian/plugins/home-tab/data.json | 30 +++++++++---------- .../plugins/recent-files-obsidian/data.json | 28 ++++++++--------- _inbox/{RabbitMQ.md => 00 RabbitMQ.md} | 14 +++------ _inbox/Exchange Direct.md | 14 +++++++++ _inbox/Exchange.md | 18 +++++++++++ _inbox/Redis.md | 2 +- _inbox/Брокер сообщений.md | 2 +- Обработка сообщений в RabbitMQ.md | 10 +++---- 8 files changed, 72 insertions(+), 46 deletions(-) rename _inbox/{RabbitMQ.md => 00 RabbitMQ.md} (83%) create mode 100644 _inbox/Exchange Direct.md create mode 100644 _inbox/Exchange.md diff --git a/.obsidian/plugins/home-tab/data.json b/.obsidian/plugins/home-tab/data.json index 0118715e..d9b264ba 100644 --- a/.obsidian/plugins/home-tab/data.json +++ b/.obsidian/plugins/home-tab/data.json @@ -23,25 +23,25 @@ "markdownOnly": false, "unresolvedLinks": false, "recentFilesStore": [ + { + "filepath": "_inbox/00 RabbitMQ.md", + "timestamp": 1719988243151 + }, + { + "filepath": "_inbox/Exchange Direct.md", + "timestamp": 1719988218224 + }, + { + "filepath": "_inbox/Exchange.md", + "timestamp": 1719988212138 + }, { "filepath": "Обработка сообщений в RabbitMQ.md", - "timestamp": 1719987900206 + "timestamp": 1719988171905 }, { - "filepath": "_inbox/RabbitMQ.md", - "timestamp": 1719987898499 - }, - { - "filepath": "_inbox/Брокер сообщений.md", - "timestamp": 1719987202417 - }, - { - "filepath": "source/курсы/_toc/Обучающий курс от HighLoad конференции 2024.md", - "timestamp": 1719949126078 - }, - { - "filepath": "_inbox/Репликация.md", - "timestamp": 1719949091365 + "filepath": "_inbox/Advanced Message Queuing Protocol.md", + "timestamp": 1719988164152 } ], "bookmarkedFileStore": [], diff --git a/.obsidian/plugins/recent-files-obsidian/data.json b/.obsidian/plugins/recent-files-obsidian/data.json index eb4b4dbe..269bad9d 100644 --- a/.obsidian/plugins/recent-files-obsidian/data.json +++ b/.obsidian/plugins/recent-files-obsidian/data.json @@ -1,12 +1,24 @@ { "recentFiles": [ + { + "basename": "00 RabbitMQ", + "path": "_inbox/00 RabbitMQ.md" + }, + { + "basename": "Exchange Direct", + "path": "_inbox/Exchange Direct.md" + }, + { + "basename": "Exchange", + "path": "_inbox/Exchange.md" + }, { "basename": "Обработка сообщений в RabbitMQ", "path": "Обработка сообщений в RabbitMQ.md" }, { - "basename": "RabbitMQ", - "path": "_inbox/RabbitMQ.md" + "basename": "Advanced Message Queuing Protocol", + "path": "_inbox/Advanced Message Queuing Protocol.md" }, { "basename": "Брокер сообщений", @@ -20,10 +32,6 @@ "basename": "Репликация", "path": "_inbox/Репликация.md" }, - { - "basename": "Advanced Message Queuing Protocol", - "path": "_inbox/Advanced Message Queuing Protocol.md" - }, { "basename": "Kafka", "path": "_inbox/Kafka.md" @@ -191,14 +199,6 @@ { "basename": "mikrovolnovka_na_kuhne2023-2 1", "path": "meta/files/mikrovolnovka_na_kuhne2023-2 1.jpg" - }, - { - "basename": "Функциональность кухни", - "path": "projects/Ремонт квартиры/Функциональность кухни.md" - }, - { - "basename": "kak-spryatat-krovat-01", - "path": "meta/files/kak-spryatat-krovat-01.jpg" } ], "omittedPaths": [], diff --git a/_inbox/RabbitMQ.md b/_inbox/00 RabbitMQ.md similarity index 83% rename from _inbox/RabbitMQ.md rename to _inbox/00 RabbitMQ.md index 0b398701..4cd9e2b9 100644 --- a/_inbox/RabbitMQ.md +++ b/_inbox/00 RabbitMQ.md @@ -5,8 +5,7 @@ tags: - type/moc date: - - 2024-07-02 -zero-link: - - "[[00 Архитектура ПО]]" +zero-link: [] parents: - "[[Брокер сообщений]]" linked: @@ -28,17 +27,12 @@ linked: - Queue - Буфер, который хранит messages. Никакой логики. - Connection - [TCP](TCP.md) соединение между приложениями и менеджером очередей. - Channel - Виртуальное соединение внутри Connection. Когда вы публикуете или получаете message через Queue, это все делается в Channel. По факту сессия. -- Exchange - получает messages от producer и отправляет его в Queue. Он решает в какую Queue будет помещено message. +- [Exchange](Exchange.md) - получает messages от producer и отправляет его в Queue. Он решает в какую Queue будет помещено message. - Binding - Связь между Queue и Exchange. - Routing Key - Ключ на который смотрит Exchange и решает в какую Queue перенаправить message. - Vhost (virtual host) - Способ разделения приложений на одном и том же экземпляре RabbitMQ. -Типы Exchange: -- direct -- fanout -- topics -- headers - -[Обработка сообщений в RabbitMQ](Обработка%20сообщений%20в%20RabbitMQ.md) +Обработка сообщений в RabbitMQ +![Обработка сообщений в RabbitMQ](Обработка%20сообщений%20в%20RabbitMQ.md) ## Заметки - При прочтении сообщения consumer-ом сообщение удаляется из брокера. \ No newline at end of file diff --git a/_inbox/Exchange Direct.md b/_inbox/Exchange Direct.md new file mode 100644 index 00000000..3d8640a3 --- /dev/null +++ b/_inbox/Exchange Direct.md @@ -0,0 +1,14 @@ +--- +aliases: + - direct +tags: + - зрелость/🌱 +date: + - - 2024-07-03 +zero-link: + - "[[00 RabbitMQ]]" +parents: + - "[[Exchange]]" +linked: +--- +Сообщения попавшие в этот Exchange будут скопированы только в те Queue, которые связаны с Exchange строгим \ No newline at end of file diff --git a/_inbox/Exchange.md b/_inbox/Exchange.md new file mode 100644 index 00000000..e9bdc019 --- /dev/null +++ b/_inbox/Exchange.md @@ -0,0 +1,18 @@ +--- +aliases: +tags: + - зрелость/🌱 +date: + - - 2024-07-03 +zero-link: + - "[[00 RabbitMQ]]" +parents: [] +linked: +--- +Exchange получает messages от producer и отправляет его в Queue. Он решает в какую Queue будет помещено message. + +Типы Exchange: +- [direct](Exchange%20Direct.md) +- fanout +- topics +- headers \ No newline at end of file diff --git a/_inbox/Redis.md b/_inbox/Redis.md index a6ee780e..2ac239ac 100644 --- a/_inbox/Redis.md +++ b/_inbox/Redis.md @@ -23,4 +23,4 @@ linked: - Однопоточный ## Заметки -- Показывает лучший результат производительности при использовании подписок, чем [RabbitMQ](RabbitMQ.md). Но при этом может страдать надежность доставки. \ No newline at end of file +- Показывает лучший результат производительности при использовании подписок, чем [00 RabbitMQ](00%20RabbitMQ.md). Но при этом может страдать надежность доставки. \ No newline at end of file diff --git a/_inbox/Брокер сообщений.md b/_inbox/Брокер сообщений.md index 334fec2b..2ebc3400 100644 --- a/_inbox/Брокер сообщений.md +++ b/_inbox/Брокер сообщений.md @@ -33,7 +33,7 @@ linked: - Производитель (producer) - приложение, которое отправляет сообщения в брокер. Примеры реализаций брокеров сообщений: -- [RabbitMQ](RabbitMQ.md) +- [00 RabbitMQ](00%20RabbitMQ.md) - [Kafka](Kafka.md) - [[NATS]] - [Redis](Redis.md) (pub/sub, stream) \ No newline at end of file diff --git a/Обработка сообщений в RabbitMQ.md b/Обработка сообщений в RabbitMQ.md index bd1028a6..483898ff 100644 --- a/Обработка сообщений в RabbitMQ.md +++ b/Обработка сообщений в RabbitMQ.md @@ -7,13 +7,13 @@ date: zero-link: - "[[00 Архитектура ПО]]" parents: - - "[[RabbitMQ]]" -linked: + - "[[00 RabbitMQ]]" +linked: --- ![](Pasted%20image%2020240703091701.png) -- Producer публикует Message в Exchange. -- Exchange получает Message и отвечает за его перенаправление. Он берет различные атрибуты, такие как Routing Key, зависимость на тип обмена и другие. -- Создается Binding между Queue и Exchange +- Producer публикует Message в [Exchange](Exchange.md). +- [Exchange](Exchange.md) получает Message и отвечает за его перенаправление. Он берет различные атрибуты, такие как Routing Key, зависимость на тип обмена и другие. +- Создается Binding между Queue и [Exchange](Exchange.md) - Сообщение остается в Queue до тех пор, пока не будет обработано Consumer - Consumer обрабатывает сообщение \ No newline at end of file