我正在学习如何在Azure云应用程序和客户端应用程序之间进行通信,并完成了this教程。
我目前有一个.exe工作进程的实例,它通过服务总线发送消息。我还有一个客户端角色,我在本地机器上运行以阅读消息。但是,当我运行客户端的多个实例时,每个客户端都会获取一些消息,而这些消息都没有得到完整的读数。是否可以使用队列或服务总线,以便客户端的每个实例都可以看到工作人员生成的消息的全部?
例如,3台不同计算机上的3个人可能希望独立监控同一计算任务的状态。
答案 0 :(得分:8)
在这种情况下,您不应使用服务总线队列,而应使用服务总线主题/订阅。
与服务总线队列相反,每个消息都由其处理 单个消费者,主题和订阅提供一对多的形式 通信,使用发布/订阅模式。有可能 注册对主题的多个订阅。发送消息时 一个主题,然后它可供每个订阅使用 独立处理/处理。
对于您的示例,您需要1个服务总线主题,并在该主题上针对每个客户端应用程序进行订阅。
答案 1 :(得分:-1)
因为我相信您使用“Peek”作为消息接收模式,它将在您运行的实例之间共享(不等同)总消息。
希望有所帮助。