<
От версии < 10.8 >
отредактировано Alexandr Fokin
на 2022/10/28 15:11
К версии < 10.10 >
отредактировано Alexandr Fokin
на 2022/10/28 15:12
>
Изменить комментарий: Удаленный объект

Комментарий

Подробности

XWiki.XWikiComments[2]
Автор
... ... @@ -1,1 +1,0 @@
1 -XWiki.cccc1808
Дата
... ... @@ -1,1 +1,0 @@
1 -2020-10-25 21:42:06.560
XWiki.XWikiComments[3]
Комментарий
... ... @@ -1,18 +1,0 @@
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) явном управлении со стороны клиентов очереди, отправка сообщения сразу на несколько очередей/брокеров.