是否可以在MSMQ中有多个侦听器来监听消息?
WCF似乎将一切都围绕着服务进行,使通信成为点对点的事务。我想使用消息队列来缓存传入的流量,以备另一个进程将日志记录到数据库中。
可能有许多其他进程对监视传入流量感兴趣,这绝对需要观察者模式,但是我不知道如何表达观察者模式,至少不是通过MSMQ via WCF。
有人能给我提供建议吗?
以下是我关心的一些背景,这也可以说明问题:我有一个Windows服务,接受来自现场小黑盒子的连接请求。它设置套接字,黑盒子发送描述带有GPS位置和时间空间注释的事件的消息。
我从套接字流中解析消息包并通过MSMQ将其发送到另一个进程,该进程过滤重复项并将数据包写入数据库表中。
有许多后处理可以从增量计算中受益,并且用户工具也会响应传入的流量执行用户通知。
因此,我真的希望有一个进程发送消息,而有几个进程接收消息。其中之一负责解析数据包内容并将消息转录到数据库中;这是最后从队列中删除消息的责任的明显候选者,但问题在于如何确保这是最后一个处理消息的处理程序。