<
От версии < 8.1 >
отредактировано Alexandr Fokin
на 2021/01/05 15:49
К версии < 10.3 >
отредактировано Alexandr Fokin
на 2022/10/28 15:09
>
Изменить комментарий: К данной версии нет комментариев

Комментарий

Подробности

Свойства страницы
Содержимое
... ... @@ -1,37 +1,14 @@
1 -
1 +RabbitMQ
2 2  https://www.rabbitmq.com/
3 3  https://www.rabbitmq.com/getstarted.html
4 4  
5 +----
5 5  
6 -**Установка:**
7 -1) Установить ERLANG (Язык программирования)
8 -2) Установить RabbitMQ
9 -3) Активировать плагин для web интерфейса. [[Management Plugin>>https://www.rabbitmq.com/management.html]]
10 -4) Перезапустить
7 +{{children/}}
11 11  
12 -**Основные порты**
13 -* 5672 - work port
14 -* 15672 - web ui
9 +----
15 15  
16 -
17 -**Основные компоненты:**
18 -* EXCHANGE
19 -На экземпляры этого компонента поступают сообщения. Компонент распеределяет сообщения по одной или нескольким QUEUE.
20 -* BINDING
21 -Определяет правило, по которому EXCHANGE направляет сообщение в конкретные QUEUES.
22 -* QUEUE
23 -Из экземпляров данного компонента потрбители получают сообщения.
24 -
25 -**Типы Exchange:**
26 -* Direct Exchange
27 -* Topic Exchange
28 -* Fanout Exchange
29 -* Headers Exchange
30 -
31 -
32 32  RetryPolicies
33 33  
34 -
35 35  13 обычных ошибок при работе с RabbitMQ
36 36  https://thewebland.net/development/devops/rabbitmq/13-obychnyh-oshibok-pri-rabote-s-rabbitmq
37 -
XWiki.XWikiComments[3]
Автор
... ... @@ -1,0 +1,1 @@
1 +XWiki.cccc1808
Комментарий
... ... @@ -1,0 +1,18 @@
1 +В RabbitMq есть возможности для создания кластеров, состоящих из нескольких узлов.
2 +По умолчанию очереди не реплицируются между нодами кластера и в случае выхода из строя ноды с очередью, очередь будет потеряна.
3 +
4 +Также существует механизм зеркалирования, который позволяет производить репликацию очередей. В таком случае для очереди одна нода выступает в роли мастера, остальные в роли подчиненного.
5 +Чтение и запись будут проходить через мастер ноду, а от нее распространяться на подчиненные ноды. В случае выхода из строя мастер ноды, одна из подчиненных нод берет на себя роль мастер ноды. Если упавшая нода оживает, то она возвращается в кластер, но в роли подчиненной ноды.
6 +Зеркалирование можно происходит, как на все ноды в кластере, так и на несколько (задается количеством реплик или указанием конкретных узлов кластера).
7 +При зеркалировании отправка сообщения с клиента считается успешно завершенной только после того, как мастер нода очереди распространило реплики сообщения на все подчиненные ноды репликации. При обращении к подчиненной ноде для выполнения отправки или потребления сообщения, подчиненная нода выполняет обращение к мастер ноде очереди. (Поэтому, по возможности, имеет смысл подключаться к ноде, выступающей в роде мастер-ноды для конкретной очереди)
8 +
9 +Вопросы:
10 +1) Как поведет себя кластер в случае распада на несколько сегментов из-за проблем с сетью? А именно: если сегменты продолжат получать сообщения, то что будет происходит при соединении сегментов. Как будет синхронизироваться состояние очередей. Скорее всего в данном случае может возникнуть ситуация, при которой разделенные сегменты могут отдать одно и то же сообщение потребителям в итоге получив дублирование.
11 +Clustering and Network Partitions
12 +https://www.rabbitmq.com/partitions.html
13 +
14 +Примечание:
15 +Существуют и альтернативные методики синхронизации основанные на
16 +1) плагине федераций
17 +2) плагине лопата. (клиент-потребитель, запущенный на стороне брокера и автоматически пересылающий сообщения из одной очереди в другие)
18 +3) явном управлении со стороны клиентов очереди, отправка сообщения сразу на несколько очередей/брокеров.
Дата
... ... @@ -1,0 +1,1 @@
1 +2021-01-06 13:44:43.300