<
От версии < 7.7 >
отредактировано Alexandr Fokin
на 2021/01/05 15:47
К версии < 10.2 >
отредактировано Alexandr Fokin
на 2022/10/28 15:07
>
Изменить комментарий: К данной версии нет комментариев

Комментарий

Подробности

Свойства страницы
Содержимое
... ... @@ -1,7 +1,8 @@
1 -
1 +RabbitMQ
2 2  https://www.rabbitmq.com/
3 3  https://www.rabbitmq.com/getstarted.html
4 4  
5 +----
5 5  
6 6  **Установка:**
7 7  1) Установить ERLANG (Язык программирования)
... ... @@ -10,22 +10,17 @@
10 10  4) Перезапустить
11 11  
12 12  **Основные порты**
14 +
13 13  * 5672 - work port
14 14  * 15672 - web ui
15 15  
18 +----
16 16  
17 -**Основные компоненты:**
18 -* EXCHANGE
19 -На экземпляры этого компонента поступают сообщения. Компонент распеределяет сообщения по одной или нескольким QUEUE.
20 -* BINDING
21 -Определяет правило, по которому EXCHANGE направляет сообщение в конкретные QUEUES.
22 -* QUEUE
23 -Из экземпляров данного компонента потрбители получают сообщения.
20 +{{children/}}
24 24  
22 +----
25 25  
26 26  RetryPolicies
27 27  
28 -
29 29  13 обычных ошибок при работе с RabbitMQ
30 30  https://thewebland.net/development/devops/rabbitmq/13-obychnyh-oshibok-pri-rabote-s-rabbitmq
31 -
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