负载均衡快速入门

最近更新时间: 2024-10-17 17:10:00

负载均衡支持 TCP/UDP/HTTP/HTTPS 协议,提供基于域名和 URL 路径的灵活转发能力。本文将引导您如何快速使用IPv4负载均衡。

前提条件

  1. 负载均衡只负责转发流量,不具备处理请求的能力。因此,您需要有处理用户请求的云服务器实例。 在本示例中,只要具有两台云服务器实例即可,您也可以自行规划云服务器数量。本例中已经在广州地域下创建了云服务器实例 rs-1rs-2

  2. 本文以 HTTP 转发为例,云服务器上必须部署相应的 Web 服务器,如 Apache、Nginx、IIS 等。 为了验证结果,示例在 rs-1 上部署了 Apache 并返回一个带有 “Hello Tomcat! This is rs-1!” 的 HTML,在 rs-2 上部署了 Apache 并返回一个带有 “Hello Tomcat! This is rs-2!” 的 HTML。更多云服务器部署内容,请参考 Linux(CentOS)下部署 Java WebWindows 下安装配置 PHP

  3. 访问云服务器的公网 IP+路径,若显示结果为您部署好的页面,则表示服务部署成功。

    注意:

    本示例中后端服务器部署的服务返回值不同,仅用于功能验证。实际情况下,为保持所有用户均有一致体验,后端服务器上一般是部署完全相同的服务。

创建负载均衡实例

  1. 登录腾讯云金融专区负载均衡。

  2. 选择地域,单击新建,进入负载均衡 LB窗口。

  3. 配置负载均衡实例相关参数,本文配置举例如图所示,具体请根据实际情况配置。

说明:

公网IPv4负载均衡所属运营商支持多运营商选择,例如电信、联通、移动、外网CAP,您可根据实际情况进行设置。

  1. 单击确认开通。成功创建实例后,在列表中可看到新建的实例。

创建负载均衡监听器

负载均衡监听器通过指定协议及端口来负责实际转发。本文以负载均衡转发客户端的 HTTP 请求配置为例。

配置 HTTP 监听协议和端口

  1. 登录云控制台,单击云产品 > 云计算与网络 > 负载均衡,进入负载均衡控制台。

  2. 在“LB 实例列表”中,找到已创建的负载均衡实例 clb-test,单击实例 ID,进入负载均衡详情页。

  3. 在“基本信息”模块,可以单击名称后的修改图标修改实例名称。

  4. 在“监听器管理”中的 HTTP/HTTPS 监听器下,单击新建,新建负载均衡监听器。

  1. 在弹出的对话框中,配置以下参数,完成后单击确定

参数 说明
名称 监听器名称。本示例中可自定义为“Listener1”。
监听器协议 监听器的协议和监听端口。
- 监听协议包含 HTTP 和 HTTPS,本例选择 HTTP。
- 监听端口是用来接收请求并向后端服务器转发请求的端口,端口范围为1 - 65535。其中,843、1020、1433、1434、3306、3389、6006、20000、36000、42222、48369、56000、65010端口为系统保留端口,暂不对外开放。
- 同一个负载均衡实例内,监听端口不可重复。
默认域名 可选择开启或关闭。
- 开启:当客户端请求没有匹配本监听器的任何域名时,CLB会将请求转发给默认域名(Default Server),每个监听器只能配置且必须配置一个默认域名。
- 如果您的七层监听器已配置默认域名,未匹配其他规则的客户端请求会被转发到默认域名。
- 如果您的七层监听器未配置默认域名,未匹配其他规则的客户端请求则会被转发到 CLB 加载的第一个域名,由于加载顺序与控制台配置顺序可能不一致,因此不一定是控制台配置的第一个。
- 关闭:当客户端请求没有匹配本监听器的任何域名时,请求将无法被转发。

配置监听器的转发规则

  1. 在“监听器管理”中,选中新建的监听器 Listener1,单击,开始添加规则。

  1. 在弹出的转发规则对话框中,设置域名、URL 路径和均衡方式等基本配置信息,单击下一步:健康检查

    • 域名:您的后端服务所使用的域名,本例使用 www.qcloudtest.com。域名支通配符,详情请参见 配置说明

    • URL 路径:您的后端服务的访问路径,本例使用 /image/

    • 均衡方式选择按权重轮询

  1. 配置健康检查:开启健康检查,检查域名使用默认的转发域名和转发路径,单击下一步:会话保持

参数 说明
健康检查 可开启或关闭健康检查功能。建议您开启健康检查,帮助您自动检查并移除异常的后端 CVM 端口。
检查域名 健康检查域名:
- 长度限制:1 - 80个字符。
- 默认为转发域名。
- 不支持正则表达式,当您的转发域名为通配域名时,需要指定某一固定域名(非正则)为健康检查域名。
- 支持的字符集为:a-z 0-9 . -。
检查目录 健康检查路径可设置为后端服务器根目录或指定的 URL:
- 长度限制:1 - 200个字符。
- 默认为 /,且必须以 / 开头。
- 不支持正则表达,建议指定某个固定 URL 路径(静态页面)进行健康检查。
- 支持的字符集为:a-z A-Z 0-9 . - _ / = ?。
检测间隔 - 负载均衡进行健康检查的时间间隔。
- 可配置范围:5 - 300秒。
不健康阈值 - 如果连续 n 次(n 为填写的数值)收到的健康检查结果失败,则识别为不健康,控制台显示为异常。
- 可配置范围:2 - 10次。
健康阈值 - 如果连续 n 次(n 为填写的数值)收到的健康检查结果为成功,则识别为健康,控制台显示为健康。
- 可配置范围:2 - 10次。
HTTP 请求方式 健康检查的 HTTP 请求方式,可选:GET 或 HEAD,默认为 GET。
- 若使用 HEAD 方法,服务器仅返回 HTTP 头部信息,可降低后端开销,提升请求效率,对应的后端服务需支持 HEAD。
- 若使用 GET 方法,则后端服务支持 GET 即可。
正常状态码 当状态码为所选状态码时,认为后端服务器存活,即健康检查正常。可选:http_1xx、http_2xx、http_3xx、http_4xx 和 http_5xx,支持选择多个状态码。
  1. 会话保持:开启会话保持,设置保持时间,单击提交完成监听器转发规则的配置。

有关负载均衡监听器的更多内容,请参考 负载均衡监听器概述

注意

  • 一个监听器(即监听协议:端口)可以配置多个域名,一个域名下可以配置多条 URL 路径,选中监听器或域名,单击【+】号即可创建新的规则。
  • 会话保持:如果用户关闭会话保持功能,选择轮询的方式进行调度,则请求依次分配到不同后端服务器上;如果用户开启会话保持功能,或关闭会话保持功能但选择 IP Hash 的调度方式,则请求持续分配到同一台后端服务器上去。

绑定云服务器

  1. 在“监听器管理”页面,选中新创建的监听器旁的三角图标展开监听器 Listener1,依次选中并展开域名、URL 路径,屏幕右侧区域显示 URL 路径绑定的云服务器信息,在此单击绑定

  1. 在弹出框中,选择与 CLB 同地域下的云服务器实例 rs-1rs-2,设置云服务器端口均为“80”,云服务器权重均为默认值“10”。

  1. 单击确定,完成绑定。

  2. 展开监听器到 URL 路径维度,可以查看绑定的云服务器和其健康检查状态,当状态为“健康”时表示云服务器可以正常处理负载均衡转发的请求。

注意:

一条转发规则(监听协议 + 端口 + 域名 + URL 路径)可以绑定同一台云服务器的多个端口。如用户在 rs-18081 端口部署了一样的服务,则 CLB 支持示例中的转发规则同时绑定 rs-18081 端口,两个端口都会接收到 CLB 转发的请求。

验证负载均衡服务

配置完成负载均衡后,可以验证该架构是否生效,即验证通过一个 CLB 实例下不同的 域名+URL 访问不同的后端云服务器,也即验证内容路由(content-based routing) 的功能。

方法一:配置 hosts 将域名指向 CLB

  1. 在 Windows 系统中,进入 C:\Windows\System32\drivers\etc 目录,修改 hosts 文件,把域名映射到 CLB 实例的 VIP 上。

  1. 为了验证 hosts 是否配置成功,可以运行 cmd,用 ping 命令探测一下该域名是否成功绑定了 VIP,如有数据包,则证明绑定成功。

  2. 在浏览器中输入访问路径 http://www.qcloudtest.com/image/,测试负载均衡服务。如下图所示,则表示本次请求被 CLB 转发到了 rs-1 这台 CVM 上,CVM 正常处理请求并返回。

  1. 此监听器的轮询算法是“按权重轮询”,且两台 CVM 的权重都是“10”,刷新浏览器,再次发送请求,可以看到本次请求被 CLB 转发到了 rs-2 这台 CVM 上。

注意:

image// 必须保留,代表 image 是默认的目录,而不是名为 image 的文件。

方法二:配置云解析将域名指向 CLB

  1. 登录云控制台,单击云产品 > 域名服务 > VPCDNS

  2. 单击您所购买的域名,在域名解析管理页面单击添加记录按钮,为域名添加 A 记录,输入以下内容:

    • 记录类型:A记录

    • 主机记录:即域名前缀。本例以解析所有前缀为例,设为 *.qcloudtest.com

    • 记录值:填写负载均衡 IP 地址。

    • 权重:设置为默认值“100”。

  3. 添加完毕后,单击确定

域名解析将该记录在 Internet 上传播需要一段时间。为测试域名是否解析正常,可以在添加完解析记录一段时间后,直接访问绑定后的 CNAME 域名(如本例中的www.qcloudtest.com)来验证负载均衡。