据我所知,我只能在Azure应用程序中打开5个端点,但如果我动态打开这些端口呢?例如:我有一个带有<Instances count="2" />的WorkerRole,当一个连接转到"myapp.cloudapp.net“时,1号实例在我在".csdef”文件中声明的5个可用端点之一中打开一个套接字……连接是否有可能转到没有侦听套接字的第二个实例?
我想是的,因为负载均衡器正在使用循环调度,它并不关心,它可以将连接转发到第二个,但我可能错了。
致以问候。
发布于 2011-03-18 22:58:39
你猜对了。完全没有办法将流量定向到特定的实例,并且负载均衡器不知道您的实例是否有正在运行的侦听器。唯一的方法是让你的客户端应用(连接到你的Windows Azure部署的应用)不断重试,直到它获得成功的连接。
一般的指导是: 1)让每个实例以相同的方式操作,在这种情况下,在端口上为每个实例打开侦听器;2)在将侦听器添加到负载均衡器之前,在OnStart()方法中设置侦听器。
发布于 2011-03-21 06:56:44
我猜你说的是InputEndpoint。但InternalEndpoints不通过负载均衡器,可以由其他角色具体解决。因此,您可以在web角色上设置一个处理程序,该处理程序可以将请求转发到您想要的特定工作角色实例。
https://stackoverflow.com/questions/5351989
复制相似问题