0

我正在尝试为我的 Azure 服务设置 CustomLoadBalancerProbe。

根据此信息:http: //msdn.microsoft.com/en-us/library/windowsazure/jj151530.aspx#LoadBalancerProbes

应该可以将标签添加到服务定义文件中。但是当我尝试这个时,我只收到一条消息,说它是 servicedefinition 文件的无效元素。

然后我用谷歌搜索了一下,发现了这个: http: //www.windowsazure.com/en-us/manage/windows/common-tasks/how-to-load-balance-virtual-machines/

这里它告诉我虚拟机的负载平衡仅在 azure 的预览版中可用。

所以我现在有点困惑:

1) VM 的负载平衡与架构中描述的负载平衡探针的使用之间是否存在差异?(链接1)

2)如果没有:它只是不支持吗?

3)如果是:为什么我不能将探测输入到服务定义文件中?

4

1 回答 1

8

LoadBalancerProbes 元素仅在 SDK 的 1.7 版(或更高版本)中受支持。现在,棘手的部分是您需要在定义 Web/Worker 角色之前添加它。所以像这样:

<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="WindowsAzure6" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2012-10.1.8">
  <LoadBalancerProbes>
    <LoadBalancerProbe name="MyProbe" protocol="http" intervalInSeconds="300" path="/something.aspx" port="80" timeoutInSeconds="30" />
  </LoadBalancerProbes>
  <WebRole name="WebRole1" vmsize="Small">
    ...
  </WebRole>
</ServiceDefinition>

如果在定义 Web/Worker 角色之后添加它,您将在 Visual Studio 中收到“无效的子元素”错误:

<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="WindowsAzure6" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2012-10.1.8">
  <WebRole name="WebRole1" vmsize="Small">
    ...
  </WebRole>
  <LoadBalancerProbes>
    <LoadBalancerProbe name="MyProbe" protocol="http" intervalInSeconds="300" path="/something.aspx" port="80" timeoutInSeconds="30" />
  </LoadBalancerProbes>
</ServiceDefinition>
于 2012-12-17T18:43:02.343 回答