MSMQ в кластере - PullRequest
       31

MSMQ в кластере

0 голосов
/ 02 июля 2018

Я настроил MSMQ для работы в кластере. Кластер состоит из двух виртуальных машин Hyper-V и использует общее хранилище на третьей виртуальной машине (все виртуальные машины совместно используют домен Windows, и они видят друг друга через сеть). Оснастка диспетчера отказоустойчивого кластера показывает, что служба MSMQ запущена. Некластеризованные сервисы MSMQ на машинах, которые являются членами кластера, показаны как запущенные в оснастке сервисов. Теперь я пытаюсь отправить сообщение с удаленного компьютера (с третьей виртуальной машины) в кластерную службу MSMQ и некластеризованную службу MSMQ. Я использую следующие имена очередей:

  • FORMATNAME: Direct = OS: {кластерного-MSMQ-NetBIOS-имя} \ частных $ \ {ИмяОчереди}
  • FORMATNAME: Direct = TCP: {кластерного-MSMQ-IP-адрес} \ частные $ \ {ИмяОчереди}
  • FORMATNAME: Direct = TCP: {некластерный-MSMQ-IP-адрес} \ частный $ \ {ИмяОчереди}

Если указан некластеризованный IP-адрес msmq, сообщение доставляется в некластеризованный экземпляр msmq. Но когда я пытаюсь получить доступ к кластерному экземпляру msmq, отправленное сообщение остается в очереди исходящих сообщений и выдает «Ожидание подключения» (не удалось подключить сокет Winsock). И очередь на кластеризованном экземпляре msmq пуста.

Я попытался подключиться к кластерной службе msmq с помощью telnet. Для соединения я указал кластерный IP-адрес msmq и порт 1801. Он говорит: «Не удалось открыть соединение с хостом, на порту 1801: сбой подключения».

Есть идеи?

Дополнительная информация. Когда я нажимаю на пункт меню «Управление очередью сообщений», когда оба сервера кластера подключены к сети, в оснастке отсутствует элемент очереди сообщений в дереве. Когда я приостанавливаю один сервер (второй), в дереве появляется элемент очереди сообщений. И когда в дереве есть элемент очереди сообщений, сообщения начинают обрабатываться (я вижу, что они исчезают из очереди исходящих сообщений на отправляющем сервере, но я не вижу их на принимающем сервере).

1 Ответ

0 голосов
/ 02 июля 2018

Кажется, что вы можете управлять очередями кластеризованных сообщений только с того кластерного узла, который теперь является владельцем роли. На узле кластера, который сейчас не активен, отсутствует пункт меню «Управление очередями сообщений».

И учитывая, что сообщения не доставлялись в кластерный экземпляр msmq, я просто переустановил функцию windows msmq на одном из узлов кластера и заново создал роль кластера msmq. После этих манипуляций доставка сообщений только начала работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...