Azure中是否可能出现以下情况?
我需要从客户端获取数据到windows azure,处理它并将其保存在db或table存储中。客户端位于防火墙/ nat ...等等之后。构建单一解决方案(将为所有客户运行)的最佳方法是什么,并允许我获取特定客户的数据。< / p>
基本上,辅助角色将从客户1获取数据,处理并保存;而不是客户2等。
我认为使用服务总线中继,但是是否可以构建一个自定义的wcf服务,该服务将为许多用户运行,在同一端点公开,并允许工作者角色向该端点请求数据,但是对于特定客户? / p>
答案 0 :(得分:2)
我有点困惑 - 如果您需要从客户那里获取数据,他们不能简单地打电话给您的服务吗?通常防火墙会允许出站请求吗?
如果您想以异步或半主动方式向客户发送数据,服务总线中继将非常方便
答案 1 :(得分:2)
大卫,服务总线继电器是一个理想的解决方案。您可以编写将在每个客户端运行的WCF服务,并连接到云中的单个服务。使用Service Bus中继为您提供了许多优势: 1)对于客户端服务,您不需要在其NAT /防火墙中打开任何入站端口,因为Service Bus客户端将进行出站连接。 2)您可以在云中运行服务的单个或多个实例,并在Service Bus上侦听单个或多个地址/端点。这样,您既可以扩展服务,也可以根据您的需求隔离每个客户。 3)我们支持负载均衡,您可以将多个发件人(来自客户位置)连接到单个端点地址,再次为您提供基于云的侦听器服务,您可以将多个实例连接到同一个端点 4)提供广泛的WCF绑定支持,因此您可以根据需要选择合适的渠道
以下是开始使用的其他资源: 概述:http://www.windowsazure.com/en-us/develop/net/how-to-guides/service-bus-relay/ 示例:http://code.msdn.microsoft.com/windowsazure/Relayed-Messaging-Load-bd76a9f8