负载均衡 CLB 提供四层(TCP 协议/UDP 协议/TCP SSL 协议)和七层(HTTP 协议/HTTPS 协议)负载均衡。您可以通过 CLB 将业务流量分发到多个后端服务器上,消除单点故障并保障业务可用性。CLB 自身采用集群部署,可实现会话同步,消除服务器单点,提升系统冗余,保证服务稳定,可在同一个地域部署多个机房,实现同城容灾。
一:四层负载均衡原理及其应用
负载均衡原理概述:
负载均衡器接收来自客户端的传入流量,并将请求路由到在一个或多个可用区中的后端云服务器实例上进行处理,负载均衡服务主要由负载均衡监听器提供,监听器负责监听负载均衡实例上的请求,执行策略分发至后端服务器等服务,通过配置客户端负载均衡和负载均衡后端服务器,两个维度的转发协议及协议端口,负载均衡可以将请求直接转发到后端云服务器上,建议您跨多个可用区配置负载均衡器的后端CVM实例,如果一个可用区变得不可用,负载均衡器会将流量路由到其他可用区中正常运行的实例上去,从而屏蔽单可用区故障引起的服务中断。
根据不同的应用特点,腾讯云CLB可以同时提供四层及七层负载均衡服务。负载均衡监听器监听负载均衡实例上的四层请求,并将这些请求分发至后端服务器进行处理,七层CLB负载均衡监听器监听负载均衡实例上的七层请求,并将这些请求分发至后端服务器进行处理,负载均衡监听器使用前端连接的协议和端口及后端连接的端口进行配置,前端端口在同一个负载均衡实例内可以重复,比如:用户可以创建TCP的端口号22到23号,UDP的端口号22到24号,后端服务器端口是后端服务器接收负载均衡分发流量的端口,在同一个负载均衡中,一个负载均衡端口可以对应多个云服务器端口,但在同一个负载均衡实例内,是不可重复的。
常见的TCP应用为例:负载均衡器在接收到第一个来自客户端的SYN请求时,会通过设定的负载均衡算法,选择一个最佳的后端服务器,同时将报文中目标IP地址修改为后端服务器的IP,然后直接转发给该后端服务器,这样一个负载均衡请求就完成了。从整个过程来看,一个TCP连接是客户端和服务器直接建立的,而负载均衡器只不过完成了一个类似路由器的转发动作。
首先在腾讯云负载均衡实例下创建监听器,设置转发端口,权重,会话保持及健康检查,然后把CVM绑定到监听器中即可,所有的流量会基于TCP或UDP端口及权重分发到后端服务器上。
四层负载是CLB最早实现的方案,也是作为一款负载均衡产品必备的功能,基本原理:就是在CLB上通过端口来区分不同的业务,转发规则的即 VIP+端口+协议,目前腾讯云中使用最多的就是这种负载均衡的方式,但是在腾讯云中,VIP是属于同一个开发商的,不同开发商之间的流量严格隔离,
二:七层负载均衡及应用
负载均衡原理及运用:
以TCP应用为例,由于负载均衡器要获取到报文的内容,因此只能先代替后端服务器和客户端建立连接,接着才能收到客户端发过来的报文内容,然后根据该报文中特定字段,加上负载均衡器中设置的负载均衡算法,决定最终选择的内部服务器,从整个过程来看,七层负载均衡器类似于一个代理服务器,七层模式下,负载均衡器和客户端及服务器分别建立一次TCP连接,而四层模式下,仅建立一次TCP连接。所以七层模式对设备的要求更高,同时七层处理负载均衡的能力要低于四层。
负载均衡的七层转发HTTP或HTTPS中,一个LB实例的监听器中,星线转发规则是:用户可选择添加一个对应的域名,当用户只建立了一条转发规则时,访问 VIP + url可以对应相应的转发规则,并正常访问服务,当用户建立了多条转发规则时,将强提示用户此时访问VIP+url不能保证访问到哪个域名+url,需要用户直接访问域名+url来确保具体的转发规则生效。
应用场景:有两条web服务器分别对应中英文两个网站,两个域名分别是A,B,要实现访问A域名时进入中文网站,访问B域名时进入英文网站。这在四层负载均衡器上几乎无法实现,而七层负载均衡可以根据客户端访问域名的不同选择对应的网页进行负载均衡处理。