创建监听器
在ZStack Cloud主菜单,点击 ,进入负载均衡界面。点击某一负载均衡,进入其详情页。在监听器子页面,点击创建监听器,弹出创建监听器界面。
可参考以下示例输入相应内容:
- 名称:设置监听器名称
- 简介:可选项,可留空不填
- 协议:选择监听器协议类型,包括:TCP、HTTP、HTTPS、UDP
- 负载均衡算法:对网络包设定不同的路由规则,默认为轮询支持的负载均衡算法包括:
- 轮询:
通过轮询调度算法,将外部请求按顺序轮流分配到负载均衡规则指定的云主机中,它均等地对待每一台云主机,而不管其上实际的连接数和系统负载。
- 最小连接:
通过最少连接调度算法,将网络请求动态地调度到已建立的连接数最少的云主机上。 如果集群中的服务器(云主机)具有相近的系统性能,采用最少连接调度算法可以较好地均衡负载。
- 源地址哈希:
源地址哈希算法,根据请求的源IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器可用且未超载,将请求发送到该服务器,否则返回空。
- 加权轮询:
在轮询算法的基础上增加权重算法,将外部请求按权重轮询分配到负载均衡规则指定的云主机中,权重值越高的云主机,被轮询的次数(概率)越高。
- 轮询:
- 负载均衡端口:可从1-65535端口之间选择一个端口作为负载均衡器虚拟IP地址的端口
- 后端服务器端口:可从1-65535端口之间选择一个端口作为后端服务器端口
例如:负载均衡端口选择80,后端服务器端口选择5000,表示对负载均衡器对应虚拟IP地址80端口的访问会转发到后端服务器的5000端口。
- 后端服务器组:选择后端服务器组Note:
- 后端服务器组为具有相同配置的后端服务器集合,方便加载到多个监听器。监听器根据权重分配来自用户的流量。
- 一个监听器可绑定同一负载均衡下的多个后端服务器组。
- 若不同的后端服务器组拥有同一个后端服务器,不支持将这些后端服务器组同时绑定同一个监听器。
- 后端服务器组加载监听器后,可在监听器的详情页查看某个后端服务器的健康状态,包括:健康、不健康。
- 高级设置:可对高级选项进行设置
- 健康检查协议:设置健康检查协议,支持:TCP/HTTP/UDP,可与监听协议使用不同的协议
- 若监听协议为TCP/HTTP/HTTPS,健康检查协议支持TCP/HTTP。
- 若监听协议为UDP,健康检查协议支持UDP。
- 若使用HTTP健康检查协议,支持配置正常状态返回码、健康检查URI和HTTP健康检查方法:
- 正常状态返回码:HTTP协议健康检查正常的HTTP状态码,支持多选。包括:http_2xx、http_3xx、http_4xx、http_5xx
- 健康检查URI:用于健康检查页面文件的URI(例如:/healthcheck.html)
建议对静态页面进行检查,设置规则如下:
- 长度限制为2~80字符。
- 只能使用字母、数字或规定符号 - / . % ? # & 的组合。
- 必须以 / 开头,但不能全为 / 。
- HTTP健康检查方法:通过发送HEAD/GET请求模拟浏览器的访问行为来检查服务器应用是否健康,默认为HEAD方式
- 空闲连接超时:没有数据传输时,触发负载均衡器终止服务器和客户端连接的超时时间,默认为60秒
- 健康检查阈值:若不健康的后端服务器连续检查成功次数超过阈值,则认定为健康,默认为2次
- 健康检查端口:默认为default,表示健康检查端口与指定后端服务器端口一致,支持指定其它端口
- 非健康检查阈值:若健康的后端服务器连续检查失败次数超过阈值,则认定为不健康,默认为2次
- 健康检查间隔时间:对后端服务器进行检查的时间间隔,设置范围默认为5秒
- 最大并发请求连接数:设置监听器最大并发请求连接数,设置范围1~2000000,默认为2000000条Note: 负载均衡器运行内存与设置的最大连接数有关,若运行内存过大可能造成路由器内存溢出(OOM),请按照实际内存设置合适的最大连接数,例如:最大连接数为200万时,负载均衡器运行内存为200M左右。
- 进程数量:HAProxy进程的数量,默认为1
使用多个进程可提高监听器的性能与监听数据的并发量,但同时可能会占用更多内存,并在一定程度上影响监控数据的准确性。
- HTTP模式:负载均衡器的HTTP连接模式,仅支持HTTP协议
- http-server-close:收到响应结束信息后,关闭面向服务器的连接,并将面向客户端的连接保持打开状态。
- http-keep-alive:处理所有请求和响应并将连接保持打开状态,但在响应和新请求之间闲置一段时间。
- http-tunnel:仅处理第一个请求和响应,并在客户端和服务器之间建立隧道,以使它们能够进行通信,而无需进一步分析HTTP协议。该模式不推荐使用。
- httpclose:与隧道模式相同,但在客户端和服务器方向添加
Connection: close
标头。该模式不推荐使用。 - forceclose:在响应结束后,负载均衡器主动关闭客户端和服务器的连接。
如Figure 1所示:Figure 1. 创建监听器
- 健康检查协议:设置健康检查协议,支持:TCP/HTTP/UDP,可与监听协议使用不同的协议