双工消息传递或Azure队列服务

时间:2014-04-29 16:47:24

标签: wcf azure azure-queues duplex-channel

全部,

我们需要开发一个基于天蓝色的平台,用户可以在其中配置多个制药仪器,开始对它们进行测量并分析测量数据。基于azure的平台中的典型组件将遵循

1 - 连接到每台仪器的计算机上运行的基于.NET的4客户端应用程序。此客户端应用程序应从azure平台接收启动测量命令,执行测量并将结果更新回azure *

2 - 一组服务[可能基于REST],它将从客户端应用程序获取结果并在云上更新数据库

3 - 一组服务和业务逻辑,可用于对数据执行分析

4 - 一个asp.net Web应用程序,用户可以在其中查看仪器详细信息,开始测量等

Azure平台与客户端应用程序之间存在双向通信,即客户端需要将结果更新为azure azure需要通过客户端启动对仪器的测量应用

在这种情况下,azure平台与客户端进行通信的推荐方法是什么。是以下任何一种

1 - 在客户端和服务器之间创建双工服务,并提供回调界面以开始测量

2 - 为每个客户端使用Azure消息队列创建命令队列。当需要开始测量时,会将一条消息放入队列中。客户端应用程序将始终从队列中读取并执行命令

或者我们还有其他方法可以做到这一点,感谢任何帮助

2 个答案:

答案 0 :(得分:0)

我们并不完全了解您的场景及其周围的限制,但作为指针,我们已经看到许多客户使用Azure存储队列来实现主工作者场景(某些组件将消息添加到适当的队列以完成工作(进行测量)在您的情况下)和工作人员轮询队列来处理这项工作(在这种情况下连接到您的仪器的客户端计算机))。

在存储结果方面,您的主组件可以提供对客户端的SAS访问,以将结果写回Azure存储帐户中的特定blob,并让您的服务和业务逻辑监视器存在该blob以开始分析。

以上方法将客户端与服务器分离,并通过存储使通信异步。同样,这些只是指针,您将是选择适合您需求的正确方法的最佳人选

答案 1 :(得分:0)

对于服务器和客户端之间的通信,您可以使用SignalR http://signalr.net/ Azure上支持“作为服务”的两种形式的消息传递系统,这些是Service Bus和Message Queues - 请参阅此链接{{ 3}}