требования клиента к системе обмена сообщениями (a la MassTransit), использующей MSMQ?

StackOverflow https://stackoverflow.com/questions/2142647

Вопрос

Поскольку я раньше не пользовался MSMQ, я совсем не понимаю требований клиентской среды к его использованию.

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

Должен ли я убедиться, что на каждом клиентском компьютере установлен MSMQ?

Я не думаю, что мои перспективы продать это хранителям Пароль администратора они очень хороши.

Прямо сейчас я могу с уверенностью ожидать, что на каждом клиентском компьютере будет установлена Windows XP Professional, но это может измениться, и, насколько я понимаю, MSMQ не установлен по умолчанию на более поздних операционных системах, что было бы еще большей головной болью.

Кто-нибудь может объяснить мне, как это работает?Я не могу представить, как какое-либо коммерческое программное обеспечение может полагаться на MSMQ, если только я не упускаю чего-то существенного (надеюсь, что упускаю).

(Сервер не является проблемой - у меня там полный контроль.)

Это было полезно?

Решение

Чтобы ответить на ваш основной вопрос.ДА.На каждом КОМПЬЮТЕРЕ должна быть запущена служба MSMQ.Я не думаю, что MSMQ предназначен для обычного пользовательского программного обеспечения, но для корпоративного..связь между серверами.Я, конечно, могу ошибаться, но с учетом ограничения, о котором вы спрашиваете, я не вижу, как его можно было бы использовать и для коммерческого программного обеспечения.

Другие советы

ESB (или даже облегченный вариант, такой как MassTransit или NServiceBus) на самом деле не предназначен для взаимодействия клиент-сервер.Если у вас есть приложение с толстым клиентом, которому необходимо взаимодействовать с внутренними службами, возможно, более разумно создать уровень SOAP и / или REST, с которым клиенты взаимодействуют вместо этого.За этим уровнем обслуживания вы могли бы использовать обмен сообщениями внутри компании в зависимости от ваших требований к масштабированию.Обмен сообщениями очень полезен для работы с высокодинамичными нагрузками, наряду с другими технологиями, такими как кэширование.

Если вы хотите отправлять сообщения на клиенте, вы могли бы рассмотреть возможность использования системы обмена сообщениями в стиле брокера (здесь подходит ActiveMQ, это обычное соединение TCP / IP) и подключиться к ней с клиента.Это способ сделать это, не обязательно лучший, в зависимости от вашей ситуации.MassTransit может использовать ActiveMQ, позволяя вам абстрагировать программный API MSMQ / ActiveMQ в более универсальный транспортный интерфейс.

Существует множество вариантов при проектировании распределенных систем, независимо от того, нужна ли вам коммуникация клиент-клиент или нет, связь клиент-сервер действительно может помочь дифференцировать различные варианты технологии.

Ответ, исходя из моего опыта, таков :При использовании masstransit используйте rabbitmq, а не msmq.см . Масстранзит:Может ли он использовать центральный сервер msmq?(Или мне следует запустить w / RabbitMQ с самого начала?)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top