Я работаю над системой обмена сообщениями / уведомлений для наших продуктов. Основные требования:
- Огонь и забудь
- Постоянный набор сообщений, возможно, обновляемый, чтобы оставаться там, пока отправитель не скажет удалить их
Библиотеки будут написаны на C #. Spring.NET только что выпустила веху со множеством отличных абстракций обмена сообщениями, и это здорово - я планирую широко ее использовать. Мой основной вопрос сводится к вопросу о брокерах сообщений. Моя архитектура будет выглядеть примерно так: приложение -> очередь брокера сообщений -> серверное приложение, которое прослушивает, отправляет все сообщения туда, куда им нужно перейти, и обрабатывает жизненный цикл этих долгоживущих сообщений -> очередь или тема брокера сообщений -> прослушивание приложения.
Наконец, вопрос: какого брокера сообщений мне следует использовать? Я склонен к ActiveMQ - Мы использовали его в нашем последнем проекте и нам понравилось. Я не могу придумать ни единого удара по нему, за исключением того, что это Java, и для этого потребуется где-то установить java на сервере, а это может быть трудно продать некоторым людям, которые будут использовать этот сервис. Другой вариант, на который я смотрел, - это MSMQ. Я настроен против этого по какой-то неизвестной причине, и, похоже, он также не имеет большой поддержки многоадресной рассылки.
Кто-нибудь использовал MSMQ для чего-то подобного? Есть плюсы или минусы, вещи, которые могут повлиять на голосование так или иначе?
И, наконец, мы используем .NET 2.0.