我正在为我们的产品开发一个消息/通知系统。基本要求如下:
- 发出并忘记
- 一组持久化的消息,可能会更新,并保留到发送者说要删除它们为止
这些库将用C#编写。Spring.NET最近发布了一个里程碑版本,具有许多不错的消息抽象,这很好 - 我计划广泛使用它。我的基本问题归结为消息代理的问题。我的架构将类似于应用程序->消息代理队列->服务器应用程序监听,将所有消息分派到需要去的地方,并处理这些长寿命消息的生命周期->消息代理队列或主题->监听应用程序。
最后,问题来了:我应该使用哪个消息代理?我倾向于ActiveMQ - 我们在上一个项目中使用它并喜欢它。除了它是Java并且需要在某个服务器上安装Java这一点可能会对一些人使用这项服务产生困难外,我真的想不出任何缺点。我一直在看另一个选项MSMQ。我因为一些未知原因对它持有偏见,而且它似乎也没有很好的多播支持。
有人用MSMQ做过类似这样的东西吗?有什么优缺点,可能会左右投票的事情吗?
最后一件事,我们正在使用.NET 2.0。