有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

为了帮助您快速使用负载均衡 API,这里给出一个使用示例。使用 API 之前请先在两台云服务器上部署 TCP 服务,并监听80端口,服务返回字符串 "hello world"。通过创建负载均衡实例,使得通过负载均衡的 VIP 来访问云服务器的服务。

购买公网属性的负载均衡实例

在使用负载均衡服务之前,我们首先购买一个公网固定 IP 型的负载均衡实例,有关购买负载均衡实例的详细信息请参考 购买负载均衡实例 页面。

这里我们创建了一个公网固定 IP 型的负载均衡实例,其公共请求参数的 Action 字段为 CreateLoadBalancer,接口请求参数如下表:

参数名称 描述 取值
loadBalancerType 负载均衡实例的类型 2:由于通过外网访问,所以创建公网类型的负载均衡实例。

结合公共请求参数和接口请求参数,最终得到的请求形式如下:

https://lb.api.qcloud.com/v2/index.php?Action=CreateLoadBalancer
&Region=ap-guangzhou
&Timestamp=1465750149
&Nonce=46364
&SecretId=AKID****ugEY
&Signature=5umi****pTTyk18V2g%2FYi56hqls%3D
&loadBalancerType=2
上述请求的返回结果如下:
{
    "code": 0,
    "message": "",
    "codeDesc": "Success",
    "requestId": 3901941,
    "dealIds": [
        "3901941"
    ],
    "unLoadBalancerIds": {
        "3901941": [
            "lb-cjcy****"
        ]
    }
}
其中 lb-cjcymkw5 为刚刚购买的负载均衡实例的唯一 ID。根据 查询负载均衡实例列表 接口来查询该负载均衡实例是否创建成功,成功后进行第二步。

创建负载均衡监听器

有了负载均衡实例的唯一 ID,我们就可以创建负载均衡监听器了,有关创建负载均衡监听器的详细信息请参考 创建负载均衡监听器 页面。

该示例中创建负载均衡监听器的接口请求参数如下表。

参数名称 描述 取值
loadBalancerId 负载均衡实例唯一 ID。 取刚刚创建的负载均衡实例的唯一 ID:lb-cjcy****
listeners.0.loadBalancerPort 负载均衡监听器的监听端口。 80
listeners.0.instancePort 负载均衡监听器后端云服务器监听端口。 80
listeners.0.protocol 负载均衡监听器监听的协议, 1:HTTP,2:TCP,3:UDP,4:HTTPS 。 本例中取值 2,监听 TCP 协议。
listeners.0.healthSwitch 负载均衡监听器的健康检查,1:开启,0:关闭。默认为开启。 本例中取值 1,开启健康检查。
listeners.0.listenerName 负载均衡监听器的名字,该字段为可选字段,如果不填写则采用默认值。 本例中取值 listenerTest

结合公共请求参数和接口请求参数,最终得到的请求形式如下:

https://lb.api.qcloud.com/v2/index.php?Action=CreateLoadBalancerListeners
&Region=ap-guangzhou
&Timestamp=1465750149
&Nonce=46364
&SecretId=AKID****ugEY
&Signature=5umi****pTTyk18V2g%2FYi56hqls%3D
&loadBalancerId=lb-cjcy****
&listeners.0.loadBalancerPort=80
&listeners.0.instancePort=80
&listeners.0.protocol=2
&listeners.0.healthSwitch=1
&listeners.0.listenerName=listenerTest
上述请求的返回结果如下:
{
  "code" : 0,
  "message" : "",
  "codeDesc": "Success",
  "requestId" : 12354
}
可以根据 查询负载均衡任务状态 异步接口查询 API 来查看该 request ID 对应的任务是否成功。

绑定后端云服务器到负载均衡实例上

创建完监听器后再将云服务器绑定到负载均衡实例上,具体绑定后端云服务器到负载均衡信息见 绑定后端服务器到负载均衡 页面。

这里我们将两台云服务器绑定到上面创建的负载均衡实例上,其中两台云服务器的唯一 ID 分别为:ins-5678test;ins-1234test。公共请求参数的 Action 字段为 RegisterInstancesWithLoadBalancer,接口请求参数如下表。

参数名称 描述 取值
loadBalancerId 负载均衡实例唯一 ID 取刚刚创建的负载均衡实例的唯一 ID:lb-abcdefgh
backends.0.instanceId 绑定到负载均衡实例上的云服务器的唯一 ID 本例中取第一台云服务器唯一 ID:ins-5678test
backends.0.weight 绑定到负载均衡实例上的云服务器的权重 本例中取默认值 10
backends.1.instanceId 绑定到负载均衡实例上的云服务器的唯一 ID 本例中取第二台云服务器唯一 ID:ins-1234test
backends.1.weight 绑定到负载均衡实例上的云服务器的权重 本例中取默认值 10

结合公共请求参数和接口请求参数,最终的请求形式如下:

https://lb.api.qcloud.com/v2/index.php?Action=RegisterInstancesWithLoadBalancer
&Region=ap-guangzhou
&Timestamp=1465750149
&Nonce=46364
&SecretId=AKID****ugEY
&Signature=5umi****pTTyk18V2g%2FYi56hqls%3D
&loadBalancerId=lb-cjcy****
&backends.0.instanceId=ins-5678****
&backends.0.weight=10
&backends.1.instanceId=ins-1234****
&backends.1.weight=10
上述请求的返回结果如下:
{
  "code" : 0,
  "message" : "",
  "codeDesc": "Success",
  "requestId" : 1234
}
可以根据 查询负载均衡任务状态 异步接口查询 API 来查看该 request ID 对应的任务是否成功。

查询负载均衡实例并使用

最后查询一下该负载均衡实例的 VIP 或者域名,具体的查询负载均衡实例列表的接口详见接口 查询负载均衡实例列表
公共请求参数的 Action 字段为 DescribeLoadBalancers,接口请求参数如下表。

参数名称 描述 取值
loadBalancerIds.0 负载均衡实例唯一 ID 本例中取刚刚创建的负载均衡实例的唯一 ID:lb-cjcy****

结合公共请求参数和接口请求参数,最终的请求形式如下:

https://lb.api.qcloud.com/v2/index.php?Action=DescribeLoadBalancers
&Region=ap-guangzhou
&Timestamp=1465750149
&Nonce=46364
&SecretId=AKID****ugEY
&Signature=5umi****pTTyk18V2g%2FYi56hqls%3D
&loadBalancerIds.0=lb-cjcy****
返回
{
    "code": 0,
    "message": "",
    "codeDesc": "Success",
    "loadBalancerSet": [{
        "loadBalancerId": "lb-cjcy****",
        "unLoadBalancerId": "lb-cjcy****",
        "loadBalancerName": "59b25ffb-0",
        "loadBalancerType": 2,
        "domain": "20de02-0.gz.1251000011.clb.myqcloud.com",
        "loadBalancerVips": [
            "119.28.168.196"
        ],
        "status": 1,
        "createTime": "2017-09-08 17:16:42",
        "statusTime": "2017-09-20 13:37:55",
        "vpcId": 0,
        "uniqVpcId": "",
        "subnetId": 0,
        "projectId": 1005621,
        "forward": 0,
        "snat": false,
        "openBgp": 0,
        "isolation": 0,
        "log": ""
    }],
    "totalCount": 1
}
根据查询结果,可以利用负载均衡实例的 VIP : 119.28.168.XX 或者域名20****-0.gz.1251000011.clb.myqcloud.com 来将请求根据负载均衡监听器的规则转发到后端绑定的云服务器上,实现了负载均衡服务。