Обмен сообщениями с помощью Rhino Service Bus через MSMQ

Я только начинаю работать с Rhino Service Bus и пытаюсь передать сообщение между двумя серверами, используя MSMQ в качестве транспорта. По какой-то причине клиент Rhino не получает сообщения, когда бэкэнд/хост находится на другом сервере, но нормально работает, когда находится на той же машине.

Если я использую очереди Rhino вместо MSMQ в качестве транспорта, то сообщение отправляется через серверы.

Я даже отключил брандмауэр. Я также убедился, что конечная точка сообщения указывает на правильный сервер, а конечная точка шины всегда локальна.

Любые идеи?

Спасибо,


person webber    schedule 12.07.2012    source источник


Ответы (2)


Существует довольно много причин, по которым сообщения не будут доставлены по сети на другой сервер. Я бы порекомендовал вам написать простое приложение для отправки сообщения на другой сервер. Это установит, есть ли проблема с Rhino (в чем я сомневаюсь).

Еще одна вещь, которую нужно проверить, — могут ли контроллеры распределенных транзакций на разных машинах взаимодействовать. Это необходимо для обеспечения транзакционной целостности сообщений. Вы можете использовать DTCPing для проверки два сервера.

Я нашел это запись в блоге со списком инструментов, которые можно использовать при отладке проблем с MSMQ. Некоторые ссылки немного устарели, но кажутся полезными.

Наконец, вы также можете попробовать MQPing. Это не работает в режиме рабочей группы для MSMQ, но может помочь.

person rivethead_    schedule 10.10.2012

Оказалось, проблема в брандмауэре. Порты служебной шины и клиента (указанные в rhino.config) должны быть открыты. ах!

person webber    schedule 02.12.2012