负载均衡快速入门
最近更新时间: 2024-10-17 17:10:00
负载均衡支持 TCP/UDP/HTTP/HTTPS 协议,提供基于域名和 URL 路径的灵活转发能力。本文将引导您如何快速使用IPv4负载均衡。
前提条件
负载均衡只负责转发流量,不具备处理请求的能力。因此,您需要有处理用户请求的云服务器实例。 在本示例中,只要具有两台云服务器实例即可,您也可以自行规划云服务器数量。本例中已经在广州地域下创建了云服务器实例
rs-1
和rs-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 Web 及 Windows 下安装配置 PHP。访问云服务器的公网 IP+路径,若显示结果为您部署好的页面,则表示服务部署成功。
注意:
本示例中后端服务器部署的服务返回值不同,仅用于功能验证。实际情况下,为保持所有用户均有一致体验,后端服务器上一般是部署完全相同的服务。
创建负载均衡实例
登录腾讯云金融专区负载均衡。
选择地域,单击新建,进入负载均衡 LB窗口。
配置负载均衡实例相关参数,本文配置举例如图所示,具体请根据实际情况配置。
说明:
公网IPv4负载均衡所属运营商支持多运营商选择,例如电信、联通、移动、外网CAP,您可根据实际情况进行设置。
- 单击确认开通。成功创建实例后,在列表中可看到新建的实例。
创建负载均衡监听器
负载均衡监听器通过指定协议及端口来负责实际转发。本文以负载均衡转发客户端的 HTTP 请求配置为例。
配置 HTTP 监听协议和端口
登录云控制台,单击云产品 > 云计算与网络 > 负载均衡,进入负载均衡控制台。
在“LB 实例列表”中,找到已创建的负载均衡实例
clb-test
,单击实例 ID,进入负载均衡详情页。在“基本信息”模块,可以单击名称后的修改图标修改实例名称。
在“监听器管理”中的 HTTP/HTTPS 监听器下,单击新建,新建负载均衡监听器。
- 在弹出的对话框中,配置以下参数,完成后单击确定。
参数 | 说明 |
---|---|
名称 | 监听器名称。本示例中可自定义为“Listener1”。 |
监听器协议 | 监听器的协议和监听端口。 - 监听协议包含 HTTP 和 HTTPS,本例选择 HTTP。 - 监听端口是用来接收请求并向后端服务器转发请求的端口,端口范围为1 - 65535。其中,843、1020、1433、1434、3306、3389、6006、20000、36000、42222、48369、56000、65010端口为系统保留端口,暂不对外开放。 - 同一个负载均衡实例内,监听端口不可重复。 |
默认域名 | 可选择开启或关闭。 - 开启:当客户端请求没有匹配本监听器的任何域名时,CLB会将请求转发给默认域名(Default Server),每个监听器只能配置且必须配置一个默认域名。 - 如果您的七层监听器已配置默认域名,未匹配其他规则的客户端请求会被转发到默认域名。 - 如果您的七层监听器未配置默认域名,未匹配其他规则的客户端请求则会被转发到 CLB 加载的第一个域名,由于加载顺序与控制台配置顺序可能不一致,因此不一定是控制台配置的第一个。 - 关闭:当客户端请求没有匹配本监听器的任何域名时,请求将无法被转发。 |
配置监听器的转发规则
- 在“监听器管理”中,选中新建的监听器 Listener1,单击+,开始添加规则。
在弹出的转发规则对话框中,设置域名、URL 路径和均衡方式等基本配置信息,单击下一步:健康检查。
域名:您的后端服务所使用的域名,本例使用
www.qcloudtest.com
。域名支通配符,详情请参见 配置说明。URL 路径:您的后端服务的访问路径,本例使用
/image/
。均衡方式选择按权重轮询。
- 配置健康检查:开启健康检查,检查域名使用默认的转发域名和转发路径,单击下一步:会话保持。
参数 | 说明 |
---|---|
健康检查 | 可开启或关闭健康检查功能。建议您开启健康检查,帮助您自动检查并移除异常的后端 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,支持选择多个状态码。 |
- 会话保持:开启会话保持,设置保持时间,单击提交完成监听器转发规则的配置。
有关负载均衡监听器的更多内容,请参考 负载均衡监听器概述。
注意:
- 一个监听器(即监听协议:端口)可以配置多个域名,一个域名下可以配置多条 URL 路径,选中监听器或域名,单击【+】号即可创建新的规则。
- 会话保持:如果用户关闭会话保持功能,选择轮询的方式进行调度,则请求依次分配到不同后端服务器上;如果用户开启会话保持功能,或关闭会话保持功能但选择 IP Hash 的调度方式,则请求持续分配到同一台后端服务器上去。
绑定云服务器
- 在“监听器管理”页面,选中新创建的监听器旁的三角图标展开监听器 Listener1,依次选中并展开域名、URL 路径,屏幕右侧区域显示 URL 路径绑定的云服务器信息,在此单击绑定。
- 在弹出框中,选择与 CLB 同地域下的云服务器实例
rs-1
和rs-2
,设置云服务器端口均为“80”,云服务器权重均为默认值“10”。
单击确定,完成绑定。
展开监听器到 URL 路径维度,可以查看绑定的云服务器和其健康检查状态,当状态为“健康”时表示云服务器可以正常处理负载均衡转发的请求。
注意:
一条转发规则(监听协议 + 端口 + 域名 + URL 路径)可以绑定同一台云服务器的多个端口。如用户在
rs-1
的80
和81
端口部署了一样的服务,则 CLB 支持示例中的转发规则同时绑定rs-1
的80
和81
端口,两个端口都会接收到 CLB 转发的请求。
验证负载均衡服务
配置完成负载均衡后,可以验证该架构是否生效,即验证通过一个 CLB 实例下不同的 域名+URL 访问不同的后端云服务器,也即验证内容路由(content-based routing) 的功能。
方法一:配置 hosts 将域名指向 CLB
- 在 Windows 系统中,进入
C:\Windows\System32\drivers\etc
目录,修改 hosts 文件,把域名映射到 CLB 实例的 VIP 上。
为了验证 hosts 是否配置成功,可以运行 cmd,用 ping 命令探测一下该域名是否成功绑定了 VIP,如有数据包,则证明绑定成功。
在浏览器中输入访问路径
http://www.qcloudtest.com/image/
,测试负载均衡服务。如下图所示,则表示本次请求被 CLB 转发到了 rs-1 这台 CVM 上,CVM 正常处理请求并返回。
- 此监听器的轮询算法是“按权重轮询”,且两台 CVM 的权重都是“10”,刷新浏览器,再次发送请求,可以看到本次请求被 CLB 转发到了 rs-2 这台 CVM 上。
注意:
image/
后/
必须保留,代表 image 是默认的目录,而不是名为 image 的文件。
方法二:配置云解析将域名指向 CLB
登录云控制台,单击云产品 > 域名服务 > VPCDNS。
单击您所购买的域名,在域名解析管理页面单击添加记录按钮,为域名添加 A 记录,输入以下内容:
记录类型:
A记录
。主机记录:即域名前缀。本例以解析所有前缀为例,设为
*.qcloudtest.com
。记录值:填写负载均衡 IP 地址。
权重:设置为默认值“100”。
添加完毕后,单击确定。
域名解析将该记录在 Internet 上传播需要一段时间。为测试域名是否解析正常,可以在添加完解析记录一段时间后,直接访问绑定后的 CNAME 域名(如本例中的www.qcloudtest.com
)来验证负载均衡。