什么是负载均衡?
负载均衡(Cloud Load Balancer)是对多台 云主机 进行流量分发的服务。负载均衡可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。
负载均衡服务通过设置虚拟服务地址(VIP),将位于 同一地域 的多台云主机资源虚拟成一个高性能、高可用的应用服务池;根据应用指定的方式,将来自客户端的网络请求分发到云主机池中。
负载均衡服务会检查云主机池中云主机实例的健康状态,自动隔离异常状态的实例,从而解决了云主机的单点问题,同时提高了应用的整体服务能力。
七牛云提供的负载均衡服务具备自助管理、自故障修复,防网络攻击等高级功能,适用于企业、社区、电子商务、游戏等多种用户场景。
组成部分
一个提供服务的负载均衡组通常由以下部分组成:
- CloudLoadBalancer:负载均衡实例,用于流量分发
- VIP(virtual IP):负载均衡向客户端提供服务的 IP 地址
- Backend/Real Server:后端一组云主机实例,用于实际处理请求
- VPC/基础网络:整体网络环境
来自负载均衡外的访问请求,通过负载均衡实例并根据相关的策略和转发规则分发到后端云主机进行处理。
名词解释
术语 | 全称 | 说明 |
---|---|---|
负载均衡器 | Cloud Load Balancer | 七牛云提供的一种网络负载均衡服务,可以结合 QCS 虚拟机为用户提供基于 TCP/UDP 以及 HTTP 负载均衡服务 |
负载均衡监听器 | Load Balance Listener | 负载均衡服务监听器,包括监听端口、负载均衡策略和健康检查配置等,每个监听项对应后端的一个应用服务 |
后端服务器 | Real Server | 接受负载均衡分发请求的一组云主机实例,负载均衡服务将访问请求按照用户设定的规则转发到这一组后端 QCS 上进行处理 |
虚拟服务地址 | Virtual IP | 系统分配的服务地址,当前为 IP 地址。用户可以选择该服务地址是否对外公开,来分别创建公网和私网类型的负载均衡服务 |
负载均衡的工作原理
基本工作原理
负载均衡器接受来自客户端的传入流量并将请求路由到后端云主机实例上进行处理。
负载均衡服务主要由负载均衡监听器提供。监听器负责监听负载均衡实例上的请求、执行策略分发至后端服务器等服务,通过配置 客户端-负载均衡 和 负载均衡-后端服务器 两个维度的转发协议及协议端口,负载均衡可以将请求直接转发到后端云主机上。
请求路由选择
客户端请求通过域名访问服务,在请求发送到负载均衡器之前,DNS 服务器将会解析负载均衡域名,并将收到请求的云主机 IP 地址返回到客户端。当负载均衡监听器受到请求时,将会使用不同的负载均衡算法将请求分发到后端服务器中。目前七牛云支持加权轮询和 ip_hash 两种均衡算法,并将在未来支持加权最小连接数算法。
监控后端服务状态
负载均衡器还可以监控后端实例的运行状况,从而确保只将流量路由到正常运行的实例上去。当负载均衡器检测到运行不正常的实例时,它会停止向该实例路由流量,然后会在它再次检测到实例正常运行之后重新向其路由流量。