Cloudpods负载均衡的功能介绍
作者: 周有松
今天的内容会从以下几个方面展开:
- 负载均衡产品简介。主要介绍负载均衡作为一个云上产品,它的功能模型是怎样的,日常使用中会遇到的业务词汇
- 负载均衡的功能与典型应用场景。这部分主要结合业务词汇,对负载均衡服务中常见的一些功能选 项进行介绍,并举例介绍一些典型的应用场景
- 最后,我们做一下总结,讨论一下负载均衡产品相比传统方式的优点
一、产品简介
1. 以NGINX为例
提到负载均衡,我们以前一般先会想到NGINX,或者淘宝的分支Tengine。我们先来看看
- 它是怎样工作的
- 它解决了什么样的问题
- 它适合什么样的应用场景

在加入了NGINX之后,客户端(Client IP)首先与NGINX建立连接(Virtual IP+Virtual Port),请求也先发给NGINX,再由NGINX从多个后端服务器中选择一台,建立连接后把请求转发给后端服务器(Real IP)。
NGINX作为网络转发节点,不参与后端服务的业务逻辑处理。而相比客户端直连后端,多个后端服务器可同时处理业务请求,应用的服务能力得到水平扩展。同时,转发节点上可以对后端做健康检查,自动屏蔽掉不健康的后端服务器,保障业务的高可用,使得单个后端服务器在故障、升级、过载时依然对用户连续可用。
因此,我们说水平扩展、高可用是负载均衡解决的最基本的两个问题。从另外一方面来说,使用负载均衡的业务,在架构设计上应该是能够水平扩展的。比如,一个应用的多个实例之 间不需要通信,相互之间没有复杂的状态维护。
2. 业务词汇
在使用云上负载均衡的时候,不管哪个厂商的产品,我们会遇到一些常用的业务词汇。我们围绕一张图来简要介绍。

负载均衡实例,除了区域、可用区之外,每个实例至少有一个IP地址。同一个负载均衡实例下可以有多个监听,每个监听一般至少有协议、端口两个属性。后面还会介绍监听的其它属性,比如调度算法、健康检查、转发策略等。
实例和监听对应到NGINX上,其实是Virtual IP和Virtual Port的组合。每个监听有一个后端服务器组,组内可以有多个后端服务器,监听将来自客户端的请求转发给后端服务器(Real IP、Real Port)。
对于HTTPS协议的监听,我们还会遇到TLS证书的概念。
通常每个监听还可以绑定一个访问控制列表,用来设置黑名单、白名单,限定业务的服务范围。
将业务词汇放到转发模型上,我们可以得到这样一张图。在壹云的负载均衡实现中,转发节点使用HAProxy负责具体的流量转发。实例和监听的配置被转换为HAProxy的配置应用到转发节点上。HAProxy据此将流量转发到后端服务器组。
