Я работаю над системой обмена сообщениями/уведомлениями для наших продуктов. Основные требования:
- Огонь и забыть
- Постоянный набор сообщений, возможно, обновление, чтобы оставаться там до тех пор, пока отправитель не попросит их удалить.
Библиотеки будут записаны на С#. Spring.NET только что выпустил веху-сборку с большим количеством приятной абстракции сообщений, что здорово - я планирую ее широко использовать. Мой основной вопрос сводится к вопросу о брокерах сообщений. Моя архитектура будет выглядеть примерно так: app → Message broker queue → server app, которая прослушивает, отправляет все сообщения туда, где им нужно идти, и обрабатывает жизненный цикл этих долгоживущих сообщений → очередь брокера сообщений или тема → прослушивание приложения.
Наконец, вопрос: какой брокер сообщений я должен использовать? Я склонен к ActiveMQ - Мы использовали его в нашем последнем проекте и любили его. Я не могу думать об одном ударе по нему, кроме того, что это Java, и потребует, чтобы Java был установлен на сервере где-то, и это может быть трудно продать некоторым людям, которые будут использовать эту услугу. Другой вариант, который я рассматривал, - это MSMQ. Я предвзято отношусь к нему по какой-то неизвестной причине, и у него также нет большой поддержки многоадресной рассылки.
Кто-нибудь использовал MSMQ для чего-то подобного? Любые плюсы или минусы, вещи, которые могут повлиять на голосование так или иначе?
Последнее, мы используем .NET 2.0.