Альтернативы RabbitMQ для .Магазин, ориентированный на СЕТЬ?

#.net #messaging #rabbitmq

#.net #обмен сообщениями #rabbitmq

Вопрос:

Мне нужно надежное решение для обмена сообщениями. Похоже, что RabbitMQ удовлетворит потребности моего приложения. Однако моя среда не очень подходит для развертывания Erlang и Mnesia на сервере. Это корпоративная среда, и развертывание «нестандартных» компонентов, подобных этому, сопряжено с огромной бюрократической волокитой. Я бы предпочел найти надежную платформу обмена сообщениями, похожую на RabbitMQ, но созданную на .NET. Хранение сообщений в Oracle и / или SQL Server было бы бонусом. Что-нибудь подобное есть?

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

Комментарии:

1. I'm aware of NServiceBus, but I don't think this is focused on reliable messaging as much as RabbitMQ is Что заставляет вас так говорить?

2. Ehh…my собственное (вполне возможно, ограниченное) понимание NServiceBus. Если вы хотите меня поправить, дерзайте. Возможно, я неправильно понимаю, что пытается сделать NServiceBus.

Ответ №1:

Как насчет старого доброго msmq? Это стандартный компонент в системах Windows Server, имеет привязки WCF… итак, я думаю, это именно то, что вы ищете. Тем не менее, afaik имеет собственное хранилище сообщений на основе файловой системы и не поддерживает sql server или Oracle для этой цели.

Комментарии:

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

2. Именно поэтому Microsoft создала WCF.

3. Мне придется исследовать использование WCF с MSMQ. Спасибо за информацию.

Ответ №2:

Взгляните на ZeroMQ

Ответ №3:

Я бы использовал NServiceBus (вы уже упоминали) или MassTransit — оба используют MSMQ.

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

Ответ №4:

Существует также ActiveMQ. Он больше ориентирован на Java, но вы можете заставить его работать в .NET, у меня есть большое развертывание ActiveMQ, все с использованием C #, но я планирую преобразовать его в RabbitMQ.

Комментарии:

1. ActiveMQ больше не разрабатывается активно с тех пор, как поставщик создал ZeroMQ. Для внутреннего использования ZeroMQ является отличным решением, поскольку не требуется устанавливать сервер. Фактически, любая функциональность, которая может потребоваться на сервере, может быть запрограммирована в одном из ваших приложений с помощью ZeroMQ, что обеспечивает максимальную гибкость и простоту создания и поддержки.

2. @Michael Dillon Спасибо, никогда раньше не слышал о ZeroMQ. Я должен буду изучить это.