当前位置:主页 > 查看内容

负载均衡 使用示例 - API 文档

发布时间:2021-09-23 00:00| 位朋友查看

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

为了帮助您快速使用负载均衡 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=AKIDxxxxugEY
&Signature=5umi9gUWpTTyk18V2g%2FYi56hqls%3D
&loadBalancerType=2

上述请求的返回结果如下:

{
    "code": 0,
    "message": "",
    "codeDesc": "Success",
    "requestId": 3901941,
    "dealIds": [
        "3901941"
    ],
    "unLoadBalancerIds": {
        "3901941": [
            "lb-cjcymkw5"
        ]
    }
}

其中 lb-cjcymkw5 为刚刚购买的负载均衡实例的唯一 ID。根据 查询负载均衡实例列表 接口来查询该负载均衡实例是否创建成功,成功后进行第二步。

创建负载均衡监听器

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

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

参数名称 描述 取值
loadBalancerId 负载均衡实例唯一 ID。 取刚刚创建的负载均衡实例的唯一 ID:lb-cjcymkw5
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=AKIDxxxxugEY
&Signature=5umi9gUWpTTyk18V2g%2FYi56hqls%3D
&loadBalancerId=lb-cjcymkw5
&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=AKIDxxxxugEY
&Signature=5umi9gUWpTTyk18V2g%2FYi56hqls%3D
&loadBalancerId=lb-cjcymkw5
&backends.0.instanceId=ins-5678test
&backends.0.weight=10
&backends.1.instanceId=ins-1234test
&backends.1.weight=10

上述请求的返回结果如下:

{
  "code" : 0,
  "message" : "",
  "codeDesc": "Success",
  "requestId" : 1234
}

可以根据 查询负载均衡任务状态 异步接口查询 API 来查看该 request ID 对应的任务是否成功。

查询负载均衡实例并使用

最后查询一下该负载均衡实例的 VIP 或者域名,具体的查询负载均衡实例列表的接口详见接口 查询负载均衡实例列表。

公共请求参数的 Action 字段为 DescribeLoadBalancers,接口请求参数如下表。

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

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

https://lb.api.qcloud.com/v2/index.php?Action=DescribeLoadBalancers
&Region=ap-guangzhou
&Timestamp=1465750149
&Nonce=46364
&SecretId=AKIDxxxxugEY
&Signature=5umi9gUWpTTyk18V2g%2FYi56hqls%3D
&loadBalancerIds.0=lb-cjcymkw5

返回

{
    "code": 0,
    "message": "",
    "codeDesc": "Success",
    "loadBalancerSet": [{
        "loadBalancerId": "lb-cjcymkw5",
        "unLoadBalancerId": "lb-cjcymkw5",
        "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.196 或者域名20de02-0.gz.1251000011.clb.myqcloud.com 来将请求根据负载均衡监听器的规则转发到后端绑定的云服务器上,实现了负载均衡服务。


本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!
上一篇:AttachDBInstances - 弹性伸缩 下一篇:没有了

推荐图文

  • 周排行
  • 月排行
  • 总排行

随机推荐