早上好。
我正在尝试将多台服务器计算机连接到Azure Service Bus客户端,该客户端将具有充当客户端的Azure服务。我们的想法是服务器(防火墙后面的HTTP服务器)在连接时告诉客户端(在Azure上)它们是可用的。如果客户端(在Azure上)需要一个特定的信息,只有一个服务器应该有,Azure应该打开与该服务器的连接,发出请求......等等......
每个Service Bus客户端(在这种情况下是服务器)是否都有一个我可以调用的唯一地址?到目前为止,我所看到的任何内容都向我展示了如何将多个客户端连接到Azure中的单个服务器,或Azure连接到单个外部服务器......这可能吗?
感谢。
答案 0 :(得分:0)
我认为Service Bus不是解决方案,至少不是你所描述的。它是一个真正的总线,意味着总线本身(单一实例)是您的客户端/服务器(架构的两侧)需要理解的端点。因此,从Azure方面来看,它不应该知道(在传输级别)总线后面有多个节点......正如服务器不应该知道Azure中有多少实例从总线中取出。
现在您可以做的是让每个现场服务器注册到自己的总线。然后拥有一个Azure组件,该组件可以是公共的,也可以是单独的总线。当服务器上线时,服务器会调用Azure“master”,通告他们的ID和他们的总线地址。然后,Azure Master可以直接在其特定总线上调用每个(或代表另一个角色将流量路由到每个特定节点)。