Azure的Web角色内部端点 - 负载不均衡 [英] Azure Web Role Internal Endpoint - Not Load Balanced

查看:257
本文介绍了Azure的Web角色内部端点 - 负载不均衡的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Azure的文件说,在一个Web角色的内部终结点不会被负载均衡。这样做有什么实际的衍生物?

The Azure documentation says that internal endpoints on a web role will not be load balanced. What is the practical ramification of this?

例如:
我有20个实例Web角色。如果我定义一个内部端点的Web角色,什么是内部实现?例如,将所有的20个实例还是服务这个终点?我能获得一个特定端点为每个实例?

Example: I have a web role with 20 instances. If I define an internal endpoint for that web role, what is the internal implementation? For example, will all 20 instances still service this end point? Can I obtain a specific endpoint for each instance?

我们有可能利用对公众端点正常负载​​平衡的行为,但有每个实例暴露内部端点很好地担任了独特的回调要求。基于端点限制公布的数字,这是不可能的。因此,限定内部端点时,它是1元实例,还是什么?是否所有角色实例的服务的端点?这是什么意思微软时,他们说,内部端点没有负载均衡?是否所有的交通只流向一个实例?这是没有意义的。

We have a unique callback requirement that could be nicely served by utilizing the normal load balancing behavior on the public endpoint, but having each instance expose an internal endpoint. Based on the published numbers for endpoint limits, this is not possible. So, when defining an internal endpoint, is it "1 per instance", or what? Do all of the role instances service the endpoint? What does Microsoft mean when they say that the internal endpoint is not load balanced? Does all the traffic just flow to one instance? That does not make sense.

推荐答案

首先,让我们澄清的数字和限制。为端点限制是角色,而不是实例。如果你不能确定,或仍扑朔迷离角色和实例计算,你可以检查出的我对那的博客文章。因此,限制每个角色(S)。

First let's clarify the numbers and limitations. The limitations for EndPoints is for Roles, not for Instances. If you are not sure, or still confusing Roles and Instances terms, you can check out my blog post on that. So, the limit is Per Role(s).

现在在端点之间的差异 - 我有一个博客帖子描述他们的这里。但在快速轮,内部端点将只开放式沟通的内部的部署中。这就是为什么它是内部的。没有外部流量(来自互联网)将能去一个内部端点。在这方面,它是不进行负载平衡,因为没有流量通过/经由负载平衡器去!内部端点的交通唯一的作用Intances之间变(最终通过一些内部路由hardwere),但从来没有住部署界限。话虽如此,它必须已经明确的是,任何互联网流量可以发送给内部端点。

Now the differences between the EndPoints - I have a blog post describing them here. But in a quick round, Internal EndPoint will only open communication internally within the deployment. That's why it is Internal. No external traffic (from Internet) will be able to go to an Internal Endpoint. In that terms, it is not load balanced, because no traffic goes via/through a load balancer! The traffic of internal EndPoints only goes between Role Intances (eventually via some internal routing hardwere) but never lives a deployment boundaries. Having said that, it must already be clear that no Internet traffic can be sent to an Internal EndPoint.

一个侧面说明 - 但是InputEndpoint是从发现互联网和调配内部。但它的 LoadBalanced,因为流量的InputEndpoint通过/来通过从互联网的负载平衡器。

A side note - InputEndpoint however is discoverable from Internet and from Inside the deployment. But it is LoadBalanced, since the traffic to an InputEndpoint comes via/through the LoadBalancer from the Internet.

回到数字。比方说,你有1 WebRole 1输入端点和1内部端点。这使得一共有2端点部署。即使你旋转起来50个实例,你窗台刚刚2端点计入总端点数量上限。

Back to the Numbers. Let's say you have 1 WebRole with 1 Input EndPoint and 1 Internal EndPoint. That makes a total of 2 EndPoints for your deployment. Even if you spin up 50 instances, you sill have just 2 EndPoints that count toward the total EndPoints limit.

你能获得一个特定的端点具体Instace - 当然是肯定的!通过 RoleEnvironemnt 类。它有<一个href=\"http://msdn.microsoft.com/en-us/library/microsoft.windowsazure.serviceruntime.roleenvironment.roles\">Roles枚举。每个角色都有<一个href=\"http://msdn.microsoft.com/en-us/library/microsoft.windowsazure.serviceruntime.role.instances\">Instances,每个实例有<一个href=\"http://msdn.microsoft.com/en-us/library/microsoft.windowsazure.serviceruntime.roleinstance.instanceendpoints\">InstanceEndpoints.

Can you obtain a specific EndPoint for Specific Instace - certainly yes! via the RoleEnvironemnt class. It has Roles enumeration. Each Role has Instances, and each Instance has InstanceEndpoints.

希望这有助于!

这篇关于Azure的Web角色内部端点 - 负载不均衡的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆