2024-07-02 19:53:38 +03:00
---
aliases:
- RabbitMQ
tags:
- type/moc
date:
- - 2024-07-02
2024-07-03 09:30:43 +03:00
zero-link: []
2024-07-02 19:53:38 +03:00
parents:
- "[[Брокер сообщений]]"
linked:
---
2024-07-02 22:38:56 +03:00
- Хранит данные в памяти
- Гарантия доставки сообщений
- at least once delivery. Гарантируется, что наше сообщение получит хотя бы один клиент.
2024-07-02 22:44:03 +03:00
- at most once delivery. Н е гарантирует доставку.
2024-07-02 22:38:56 +03:00
- Гарантирует порядок передачи сообщений: FIFO
- Имеется возможность сохранения на диск
- Подтверждение отправки/получения
- Ограничение количества отправляемых сообщений
- Управление поведением не полученных сообщений
- [Кластеризация ](Кластеризация.md )
2024-07-02 22:44:03 +03:00
- [Репликация ](_inbox/Репликация.md )
2024-07-02 22:49:02 +03:00
Терминология:
2024-07-03 10:26:00 +03:00
- [Queue ](Queue.md ) - Буфер, который хранит messages. Никакой логики.
2024-07-02 22:49:02 +03:00
- Connection - [TCP ](TCP.md ) соединение между приложениями и менеджером очередей.
2024-07-03 09:15:44 +03:00
- Channel - Виртуальное соединение внутри Connection. Когда вы публикуете или получаете message через Queue, это все делается в Channel. По факту сессия.
2024-07-03 09:30:43 +03:00
- [Exchange ](Exchange.md ) - получает messages от producer и отправляет е г о в Queue. Он решает в какую Queue будет помещено message.
2024-07-03 09:15:44 +03:00
- Binding - Связь между Queue и Exchange.
- Routing Key - Ключ на который смотрит Exchange и решает в какую Queue перенаправить message.
- Vhost (virtual host) - Способ разделения приложений на одном и том же экземпляре RabbitMQ.
2024-07-03 09:20:44 +03:00
2024-07-03 09:30:43 +03:00
Обработка сообщений в RabbitMQ
![Обработка сообщений в RabbitMQ ](Обработка%20с о о б ще ний%20в%20RabbitMQ.md )
2024-07-02 22:44:03 +03:00
## Заметки
- При прочтении сообщения consumer-ом сообщение удаляется из брокера.