通常,对 Azure 工作人员的访问是通过服务定义中定义的终结点完成的。这些端点必须是 TCP 或 HTTP(S),通过负载均衡器传递,然后连接到 Azure 机器的实际 IP/端口。
我的应用程序将从使用 UDP 中受益匪浅,因为我是从蜂窝设备连接的,在这些设备中,字节数是计费的,而 SYN/ACK/FIN 的开销使我发送的 8 字节数据包相形见绌。我什至考虑将我的数据直接放入 ICMP 消息头中。但是,负载均衡器不支持这些。
我知道您可以在 Azure 虚拟机上启用 ping,然后 ping 它们——http: //weblogs.thinktecture.com/cweyer/2010/12/enabling-ping-aka-icmp-on-windows-azure-roles.html .
是否有什么阻止我使用基于 TCP 的服务(通过负载均衡器公开),该服务只会分发 Azure VM 地址的 IP 地址和端口,然后让应用程序直接与该工作人员通信?(我必须自己处理负载平衡。)如果工作程序被关闭或移动,我的应用程序将足够聪明地重新连接到 TCP 端点并请求一个新的位置来发送数据。
这个概念是否有效,或者有什么东西可以防止这种直接访问?