You need to enable JavaScript to run this app.
导航
监听器概述
最近更新时间:2024.06.12 14:37:07首次发布时间:2021.07.09 13:29:26

监听器的作用

监听器提供转发请求的能力,通过匹配请求的协议和端口,根据调度算法将请求流量分发给后端服务器组。CLB实例创建后,需要为其配置监听器。

监听器协议类型

监听器提供四层(TCP和UDP)和七层(HTTP和HTTPS)监听协议,表示监听器允许接收并转发的请求协议。

  • 四层监听协议:传输层协议,表示监听器通过“CLB实例IP+监听端口”接收请求。
  • 七层监听协议:应用层协议,表示监听器通过“域名/URL+监听端口”接收请求。
监听器协议类型
说明
应用场景

TCP

  • 面向连接的、可靠的协议,在正式收发数据包前, 必须和对方进行三次握手建立连接。
  • 数据传输快。
  • 适用于注重可靠性,对数据准确性要求高而速度可以相对较慢的场景,如文件传输、发送或接收邮件、远程登录等。
  • 普通Web应用。

UDP

  • 面向非连接的协议,在数据发送前不需要与对方进行三次握手,直接收发数据包,不提供差错恢复和数据重传。
  • 可靠性相对较低。
  • 数据传输快。

适用于实时性要求高而可靠性要求相对较低的场景,如语音视频聊天、游戏、金融实时行情推送等。

HTTP

  • 应用层协议,主要解决如何包装数据。
  • 使用X-Forward-For获取源地址。

适用于需要对数据内容进行识别的应用,如Web应用、页游等。

HTTPS

  • 使用SSL协议加密传输数据,可以阻止未经授权的访问。
  • 统一证书管理:您可以将证书上传到CLB实例,解密操作直接在CLB实例上完成,降低了后端服务器的CPU开销。

适用于对安全性需求较高、需要加密传输的应用。

监听器端口

监听器端口是指为CLB实例接收请求并向后端服务器转发请求的端口。监听器端口的配置说明如下:

  • 监听端口范围为1 ~ 65535。
  • 同一CLB实例中,相同或同类协议的监听器端口不允许重复。

    说明

    由于HTTP、HTTPS协议在四层的流量转发均使用TCP协议,因此,TCP、HTTP、HTTPS三种协议的监听端口不允许重复。

  • 相关约束限制可参见约束限制

调度算法原理

监听器支持的调度算法包括以下三种:

  • 加权轮询(WRR):该算法根据后端服务器的权重(建议您依据服务器性能设置权重,性能越好权重值越高),将来自用户的访问请求依次分发到不同的后端服务器。权重值越高的后端服务器,被轮询到的次数(概率)越高。
    该算法适用于短连接服务。当每个请求占用后端服务器的处理时间基本相同、处理的请求类型相同或相似、请求时间相差较小时,推荐使用该算法。

  • 加权最小连接数(WLC):根据后端服务器“当前连接数/权重”比值估计当前负载情况,将请求分发给“当前连接数/权重”比值最小的后端服务器。该算法需要记录各服务器的当前连接数,当一条请求被分发到某台后端服务器时,其连接数加一;当某条请求连接中止、超时或完成时,其连接数减一。
    该算法适用于长连接服务,如FTP应用等。当需要处理不同的请求且请求时间相差较大时,推荐使用该算法。

  • 源地址哈希(SH):基于源IP地址的一致性哈希,相同源地址的请求通过哈希表映射到相同的后端服务器。在移除或者添加一个后端服务器时,能够尽可能小地改变已存在的服务请求与处理请求服务器之间的映射关系。
    该算法适用于无cookie功能的协议。当需要将同一用户的请求转发到相同后端服务器时,推荐使用该算法。

监听器带宽限速

负载均衡支持为不同监听器配置带宽限速,避免不同业务之间共享带宽性能对业务造成影响。
监听器带宽限速功能具体使用约束如下:

  • 2023年04月12日之前创建的CLB实例不支持创建指定带宽的监听器。
  • CLB实例和监听器的带宽限速与CLB实例关联的公网IP的带宽无关。
  • 同一CLB实例中未设置带宽限速的监听器共享CLB实例规格的剩余带宽。
    例如:CLB实例clb-01中共有3个监听器,其中2个未设置带宽限速,1个限速为100Mbps,CLB实例的规格带宽为200Mbps,那么未设置带宽限速的2个监听器共享剩余的100Mbps。

高级功能列表

监听器高级功能的支持情况根据协议类型有所不同,如下表所示。

下表中表示支持,×表示不支持。

功能TCP协议UDP协议HTTP协议HTTPS协议
访问控制
健康检查
Proxy-Protocol获取源IP××
会话保持
支持HTTP 2.0×××
监听带宽限速
连接优雅中断××
Gzip数据压缩××