> For the complete documentation index, see [llms.txt](https://docs.console.zenlayer.com/welcome/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.console.zenlayer.com/welcome/cn/elastic-compute/load-balancing/load-balancing-overview.md).

# ZEC 负载均衡器

## 什么是负载均衡器？

负载均衡器是运行在 VPC 内部服务的托管流量入口点。它提供一个虚拟地址——即 VIP——并将到达该地址的连接分发到一组后端服务器，从而避免任何单台服务器承担全部负载。

该服务在**第四层**（TCP 和 UDP）以**直通**模式运行：连接在后端终止，而非在负载均衡器上终止。负载均衡器的职责是为每个新流选择一台健康的后端服务器，将数据包转发过去，并跟踪该流，以确保返回流量正确送达。

负载均衡器实例包含三个组成部分：

* **VIP** — 客户端连接的一个或多个弹性 IP（IPv4 或 IPv6）。
* **监听器** — 定义每个端口流量分发方式的协议 + 端口 + 调度器配置。
* **后端服务器** — VIP 后面的虚拟机，每台都有权重和健康状态。

![负载均衡器架构](https://2318250923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0CBWy7DFFtkhyEC9R4kE%2Fuploads%2Fgit-blob-4f49e4cf73612d7a2ead37162540cccdc374c72d%2Flb-overview.svg?alt=media)

***

## 何时使用负载均衡器

下表简要说明了何时适合使用负载均衡器，以及何时应选择其他方案。

| 需求 / 场景                      | 负载均衡器？ | 说明                                           |
| ---------------------------- | ------ | -------------------------------------------- |
| 单台服务器无法承载负载——需将流量分发到多台后端     | ✅ 是    | 核心使用场景。选择调度器——`mh` 适合粘性 5 元组，`wIc` 适合混合容量池。  |
| 后端崩溃、重启或部署失败——客户端应无感知        | ✅ 是    | 配套健康检查可隔离故障后端，并在恢复后重新将其纳入调度。                 |
| 后端池频繁变动（弹性扩缩、滚动部署、替换）        | ✅ 是    | VIP 保持稳定；客户端和 DNS 始终指向 VIP，底层池可随时变更。         |
| 将私有后端隐藏在公网的单一地址后面            | ✅ 是    | VIP（即 EIP）是唯一的公网暴露面；后端保留在 VPC 内的私有 IP 上。     |
| 水平扩展无状态服务——Web 前端、API、微服务    | ✅ 是    | 标准模式。增加副本即可提升容量，客户端连接方式无需改变。                 |
| HTTP 路径路由、SNI 分发、TLS 终止或 WAF | ❌ 否    | 仅支持第四层。如需上述功能，请在 VIP 后面部署应用层代理。              |
| 单台虚拟机、单个端口，无需池化和健康检查         | ❌ 过度设计 | 使用 **NAT 网关 DNAT**，可用更少的配置实现一对一的公网端口到私有端点映射。 |
| 网络间双向互联（子网 ↔ 子网、VPC ↔ 本地）    | ❌ 否    | 请使用**边界网关**。负载均衡器是服务入口点，而非路由器。               |
| 仅内部 / 私有 VIP                 | ❌ 暂不支持 | 所有 VIP 均为公网弹性 IP。如需私有端点，请通过 VPC 直接连接至后端。     |

***

## 工作原理

![请求流程](https://2318250923-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0CBWy7DFFtkhyEC9R4kE%2Fuploads%2Fgit-blob-ba832988f6bbdf83aa68befdcba3ab3de4d5fcc3%2Fpacket-flow.svg?alt=media)

1. 客户端向 VIP 发起连接。
2. 负载均衡器将数据包匹配到对应的监听器（协议 + 端口），并使用该监听器的调度算法选择一台健康的后端服务器。
3. 负载均衡器将数据包转发至所选后端。后端以真实客户端 IP 作为源地址——无需在后端进行任何特殊配置。
4. 后端**直接向客户端回复**——回包不经过负载均衡器。从客户端角度来看，响应来自 VIP。

只有正向路径经过负载均衡器；返回流量完全绕过它。这使负载均衡器不在回包热路径上，并允许后端带宽随池大小线性扩展。

不健康的后端会自动从调度中移除。当后端恢复后，在下一次成功探测时重新加入轮换。

***

## 常见问题

**负载均衡器支持 HTTPS 吗？** 不作为 TLS 终止产品。TCP 监听器可以承载端到端的 HTTPS 连接——负载均衡器将字节透传给后端，由后端自行终止 TLS。负载均衡器不会解析 TLS 握手内容，因此不支持基于 SNI 的路由。

**后端能看到真实客户端 IP 吗？** 可以。负载均衡器为直通模式，后端以真实客户端 IP 作为源地址——无需在后端进行任何配置。TCP 和 UDP 监听器均支持此功能。

**一台负载均衡器可以有多个 VIP 吗？** 可以。一个实例可以持有一个或多个 IPv4 和/或 IPv6 VIP，相同的监听器适用于所有 VIP。您也可以在同一实例上为不同端口配置多个监听器。

**后端必须与负载均衡器在同一 VPC 内吗？** 是的。后端通过同一全局 VPC 内的私有 IP 进行引用，且目前必须与负载均衡器实例在同一地区。暂不支持跨地区后端——请为每个地区单独创建一台负载均衡器。

**当所有后端都未通过健康检查时会怎样？** 默认情况下，监听器停止发送流量（强制失败）。您可以将其更改为*视所有后端为健康*，以便在排查问题期间请求仍能到达后端——当虚假的健康检查会导致服务黑洞时，这非常有用。参见[健康检查](/welcome/cn/elastic-compute/load-balancing/05-health-check.md)。

**负载均衡器是否高可用？** 是的。每个实例内部具有冗余——VIP 无需配对、主备或 keepalive，即可保持可达。从您的角度来看，负载均衡器就像一个服务端点。
