最近更新时间:2021-09-23
负载均衡通过监听器将流量分发到后端服务器。通过指定的协议和端口来监听来自客户端的连接请求,并根据您定义的转发策略将请求转发到一个后端服务器组里的服务器。
监听器支持监听四层协议TCP、UDP,以及七层协议HTTP、HTTPS,每个监听器对应一种协议和端口。如果要监听多个协议或同一个协议的多个端口,可以创建多个监听器。
调度算法是负载均衡向后端服务器分配流量的算法,根据不同的算法及后端服务器的权重设置,可以达到不同的效果。支持以下三种调度算法。
根据后端服务器的权重,按顺序依次将请求分发给不同的服务器。加权轮询调度算法可以解决服务器间性能不一的情况,它用权重表示服务器的处理性能,按照权重的高低以轮询方式将请求分配给各服务器。加权轮询算法根据新建连接数来调度,权值高的服务器先收到连接,权重值越高被轮询到的次数(概率)也越高,相同权值的服务器处理相同数目的连接数。
适用于每个请求所占用的后端时间都基本相同的场景。常用于短连接服务,例如HTTP等服务。
最小连接是通过当前活跃的连接数来估计服务器负载情况的一种动态调度算法。最小连接算法就是在最少连接数的基础上,根据服务器的不同处理能力,给每个服务器分配不同的权重,使其能够接受相应权值数的服务请求。
适用于每个请求所占用的后端时间相差较大的场景。常用于长连接服务,例如数据库连接等服务。
将请求的源IP地址进行Hash运算,得到一个具体的数值,同时对后端服务器进行编号,按照运算结果将请求分发到对应编号的服务器上。这可以使得对不同源IP的访问进行负载分发,同时使得同一个IP的请求始终被派发至某个特定的服务器上。
适合负载均衡无cookie功能的TCP协议。
会话持久化功能,或叫做会话保持功能是负载均衡中的一种可以识别客户端与服务器之间交互过程关联性的机制,通过该机制,负载均衡能够保证一系列相关联的访问请求保持分配到同一台后端服务器上。
如果没有会话保持功能,则当用户向负载均衡发送请求时,负载均衡会根据算法分配到后端服务器进行处理,当短期内用户发送多次请求,而每次都被分配到不同的后端服务器时,会导致用户每次都要在新的服务器上登录。会话保持功能能够使得同一个用户短期内发送的请求在同一个云主机上被处理,从而避免短期内多次登录导致的麻烦。
四层协议的会话保持支持基于源IP地址(SOURCE_IP)的简单会话保持,即来自同一IP地址的访问请求会转发到同一台后端服务器上进行处理。
七层协议的会话保持支持HTTP cookie(HTTP_COOKIE)和应用程序cookie(APP_COOKIE)的会话保持。
HTTP cookie:负载均衡实例根据用户的第一个请求生成一个cookie,后续所有包含这个cookie值的请求都会由同一个后端服务器处理。
应用程序cookie:该选项依赖于后端应用。后端应用生成一个cookie值,后续所有包含这个cookie值的请求都会由同一个后端服务器处理。