全部,
我们需要开发一个基于天蓝色的平台,用户可以在其中配置多个制药仪器,开始对它们进行测量并分析测量数据。基于azure的平台中的典型组件将遵循
1 - 连接到每台仪器的计算机上运行的基于.NET的4客户端应用程序。此客户端应用程序应从azure平台接收启动测量命令,执行测量并将结果更新回azure *
2 - 一组服务[可能基于REST],它将从客户端应用程序获取结果并在云上更新数据库
3 - 一组服务和业务逻辑,可用于对数据执行分析
4 - 一个asp.net Web应用程序,用户可以在其中查看仪器详细信息,开始测量等
Azure平台与客户端应用程序之间存在双向通信,即客户端需要将结果更新为azure , azure需要通过客户端启动对仪器的测量应用
在这种情况下,azure平台与客户端进行通信的推荐方法是什么。是以下任何一种
1 - 在客户端和服务器之间创建双工服务,并提供回调界面以开始测量
2 - 为每个客户端使用Azure消息队列创建命令队列。当需要开始测量时,会将一条消息放入队列中。客户端应用程序将始终从队列中读取并执行命令
或者我们还有其他方法可以做到这一点,感谢任何帮助
答案 0 :(得分:0)
我们并不完全了解您的场景及其周围的限制,但作为指针,我们已经看到许多客户使用Azure存储队列来实现主工作者场景(某些组件将消息添加到适当的队列以完成工作(进行测量)在您的情况下)和工作人员轮询队列来处理这项工作(在这种情况下连接到您的仪器的客户端计算机))。
在存储结果方面,您的主组件可以提供对客户端的SAS访问,以将结果写回Azure存储帐户中的特定blob,并让您的服务和业务逻辑监视器存在该blob以开始分析。
以上方法将客户端与服务器分离,并通过存储使通信异步。同样,这些只是指针,您将是选择适合您需求的正确方法的最佳人选
答案 1 :(得分:0)
对于服务器和客户端之间的通信,您可以使用SignalR http://signalr.net/ Azure上支持“作为服务”的两种形式的消息传递系统,这些是Service Bus和Message Queues - 请参阅此链接{{ 3}}