引入负载均衡

解决方案

我决定引入负载均衡

负载均衡器选择

方案对比

方案优势劣势适用场景
Nginx成熟稳定、功能丰富配置相对复杂生产环境
HAProxy性能极高、专门做负载均衡配置复杂高流量场景
云负载均衡免运维、自动扩展成本较高云环境
DNS 轮询简单无健康检查简单场景

选择 Nginx

我选择 Nginx 作为负载均衡器:

  • 免费开源
  • 社区活跃
  • 功能丰富(健康检查、SSL、静态文件)
  • 性能优秀
选型边界
为什么此时选择 Nginx
触发问题
单台应用服务器已经成为入口瓶颈,需要把请求分发到多台实例,并在实例异常时自动摘除。
候选方案
DNS 轮询、云负载均衡、HAProxy、Nginx。
选择理由
Nginx 对当前规模足够稳定,既能做反向代理和健康检查,也能顺手承接 SSL 和静态资源入口。
代价
需要维护 upstream 配置、健康检查策略和发布流程;配置错误会影响整个入口。
暂不解决
暂不引入云负载均衡和多活入口,先把单地域多实例的流量分发跑通。

负载均衡配置思路

配置负载均衡

设计流程
配置负载均衡:流量配置
  1. 步骤 1:维护可用后端实例列表
  2. 步骤 2:把请求转发到健康实例
  3. 步骤 3:选择负载均衡策略
  4. 步骤 4:发现故障并自动摘除异常节点
关注点:实例健康、转发策略、故障摘除和扩容验证。

启动负载均衡层

设计流程
启动负载均衡层:部署操作
  1. 步骤 1:准备运行环境并启动服务
  2. 步骤 2:部署、重启或检查服务状态
  3. 步骤 3:确认请求入口、上游实例和本次转发的选择依据
  4. 步骤 4:根据延迟、连接数和健康状态调整转发目标
关注点:实例健康、转发策略、故障摘除和扩容验证。

应用服务器配置

Server 1-4 的配置

设计流程
Server 1-4 的配置
  1. 步骤 1:获取共享依赖连接并检查可用性
  2. 步骤 2:检查健康状态并触发告警
  3. 步骤 3:按负载均衡策略选择可用实例并转发请求
  4. 步骤 4:刷新上游健康检查结果和路由配置
关注点:实例健康、转发策略、故障摘除和扩容验证。