据我所知,我只能在 Azure 应用程序中打开 5 个端点,但如果我动态打开这些端口会怎样?示例:我有一个 WorkerRole
与 <Instances count="2" />
,然后实例号一在我在“.csdef”文件中声明的 5 个可用端点之一中打开一个套接字,当连接转到“myapp.cloudapp.net”时......该连接是否有机会转到没有监听套接字的第二个实例?
我想是的,由于负载均衡器使用循环调度,它并不关心,它可以将连接转发到第二个,但我可能是错的。
问候。
最佳答案
你猜对了。绝对没有办法将流量引导到特定实例,并且负载均衡器不知道您的实例是否正在运行监听器。实现这一目标的唯一方法是让您的客户端应用程序(连接到 Windows Azure 部署的应用程序)不断重试,直到获得成功的连接。
一般指导是 1) 让每个实例以相同的方式操作,在这种情况下,在每个实例的端口上打开监听器,2) 在将监听器添加到 OnStart() 方法中之前,先在 OnStart() 方法中设置监听器负载均衡器。
关于sockets - 在 Azure 中动态打开端口,负载均衡器是否足够智能,能够路由到正确的端口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5351989/