统一入口把请求分发到多台健康的后端节点

解决方案 技术解决方案 负载均衡

负载均衡解决方案

流量分发 · 健康检查 · 节点增减

业务上量后最先撑不住的,往往不是单台机器的性能,而是全部请求都压在一台机器上。我们把请求先收敛到统一入口,再按策略分发到多台健康的后端节点。

  • 四层 / 七层调度
  • 健康检查摘除
  • 会话保持
  • 裸金属服务器节点

按峰值并发倒推节点数

业务一上量,架构问题就藏不住了

把单点、瓶颈与停机风险从架构里拿掉。

单台服务器扛不住高峰

所有请求打到同一台机器,CPU 与连接数迅速见顶,加机器也用不上。

临时加机器也救不回当天的活动

一台机器故障,整站跟着中断

入口与业务同一台机器,硬件故障或进程崩溃会让整站不可用。

一次硬件故障就是一次全站停服

扩容要停机,会话还会丢

调整架构要凌晨停服,节点切换后登录状态丢失,购物车可能被清空。

扩容要挑凌晨,还得赌不丢会话

多地域访问体验不一致

流量统一回源到单一地域时远端用户绕路,为每个区域单独采购带宽又叠加成本。

远端用户慢,带宽钱还是双份

哪些业务适合先做负载均衡

高峰、登录态、多地域和不停机发布,入口与后端要分开。

场景匹配

活动与大促

典型情况

短时流量把单台机器的 CPU 和连接数打满,临时加机器也接不到请求。

怎么配

入口与后端分开。后端按峰值并发加节点,活动结束后再退出服务器组。

场景匹配

不能停机的在线业务

典型情况

入口和业务在同一台机器上,硬件故障或进程崩溃会让整站不可用。

怎么配

健康检查发现异常后摘除该节点,其余健康节点继续接流量。

场景匹配

需要灰度发布的业务

典型情况

新版本要停机发布,出了问题只能整站回滚。

怎么配

新版本先上部分节点,按比例切流。异常时把流量切回旧节点,不必重新部署。

调度架构:请求先进入统一入口,再分到健康节点

健康检查决定谁接流量。故障节点自动摘除,灰度按比例切流,会话在后端同步。

负载均衡:从访问来源到观测与容灾 请求进入四层或七层入口,健康检查把流量交给正常节点,故障节点摘除,灰度按比例切流,会话与数据在后端同步。 访问来源 调度入口 后端节点 会话与数据 观测与容灾 健康检查 灰度切流 故障摘除 会话同步 大陆访客大陆用户请求 港澳台与海外跨区访问入口 移动端与 API接口与长连接 搜索与探测爬虫与探测流量 负载均衡入口四层与七层监听 健康检查异常节点自动摘除 灰度发布分组按比例切一部分流量 会话保持同一用户固定节点 后端服务器组业务节点横向增加 正常业务节点承接当前流量 灰度节点先接少量新版本流量 摘除节点不再接收新请求 集群会话同步登录态跨节点保留 数据库读写分离读与写分开访问 Raid 与备份阵列与实时备份 流量监控看分发与健康状态 访问日志入口与节点留痕 多机房调度按机房就近分流 备用节点故障时接手流量
  • 正常分发与灰度切流
  • 故障节点自动摘除
  • 会话保持、备份与日志

资源与设施规格

三层角色的选型口径不同。

  • 入口、后端节点与加固节点可分开选配
  • 后端节点支持随时增减,不改变入口配置
调度入口机型
入口与调度层用在售独立服务器,按并发连接数确定配置。
后端节点机型
后端服务器组用裸金属服务器承载,从 E5-2620 起步,不够就加一台,不必换掉整套架构。
公网入口加固
公网入口可加配 50G DDoS 防御的高防服务器,把异常流量挡在业务节点之前。
线路与带宽
美国节点可选精品 CN2 与大陆优化专线,亚太节点常见 20M 独享。
机房与地区
后端节点可就近部署在美国、中国香港、日本与德国等 12+ 个地区。
调度与监控
支持四层与七层监听、健康检查与会话保持,异常节点自动摘除并回归。

推荐配置

入口、后端与加固三类角色分开选,各自的选型口径不同。规格和价格以商品页为准。

适用场景 / 机型 CPU 内存 硬盘 线路 带宽 防御 IPv4 参考价格 选购
US-E3-1230v3 E3-1230V3·4C / 8T 32G 1T SSD CN2 Direct Pro 30M / 不限流量 10G 3 IPs $79 /月起 选购
HK-E3-1230V3 E3-1230V3·4C / 8T 32G 1T SSD CN2 Direct Pro 10M / 不限流量 20G 3 IPs $89 /月起 选购
US-LA-E5-2620 E5-2620·6C / 12T 32G 1T HDD China Direct Pro 100M / 不限流量 10G 5 IPs $99 /月起 选购
US-E5-2630x2 E5-2630 x 2·12C / 24T 32G 1T SSD CN2 Direct Pro 30M / 不限流量 10G 3 IPs $109 /月起 选购

角色分工:入口只看转发规则数与连接跟踪表,后端按并发横向加机器,加固只放在真正暴露的公网入口上。

价格以商品页为准。未列出的 CPU、内存与硬盘可按需配置。季付 9.5 折、半年付 9 折、年付 8.5 折,续费同价。

并发量怎么定节点数与探测参数

节点数 = 峰值并发 ÷ 单节点连接档,再留冗余;探测参数按节点规模调。

峰值并发连接 后端节点数 单节点 1,000 连接 后端节点数 单节点 2,000 连接 max_fails / fail_timeout 会话保持方式
500 个 2 台 2 台 1 次 / 10 秒(默认) ip_hash
1,000 个 2 台 2 台 1 次 / 10 秒(默认) sticky cookie
5,000 个 6 台 4 台 2 次 / 10 秒 sticky cookie
10,000 个 11 台 6 台 2 次 / 10 秒 sticky learn
50,000 个 51 台 26 台 3 次 / 15 秒 sticky learn
100,000 个 101 台 51 台 3 次 / 15 秒 sticky learn + slow_start
200,000 个 201 台 101 台 3 次 / 15 秒 sticky learn + slow_start

节点数 = 峰值并发 ÷ 单节点连接档(向上取整)+ 1。例如 5,000 并发、单节点开 1,000 连接,5,000 ÷ 1,000 = 5,加 1 台冗余即 6 台;把单节点开到 2,000 连接,则 5,000 ÷ 2,000 向上取整为 3,加 1 台即 4 台。1,000 与 2,000 是便于估算的设定值,不是 NGINX 默认值。max_conns 默认 0 表示不限制,要按单机实际能力填。

探测与会话参数的默认值

参数 默认值 作用范围 常见误用
max_fails 1 次 fail_timeout 窗口内失败几次即判不可用 单节点服务器组里该参数被忽略
fail_timeout 10 秒 统计失败的窗口,也是判不可用后的禁用时长 网络抖动时 10 秒过于激进,节点来回摘挂
slow_start 0(关闭) 节点恢复后权重从 0 爬升到标称值的时长 不设则恢复瞬间被打满
max_conns 0(不限制) 单个后端的最大并发活动连接数 不设则单节点可被压垮
queue timeout 60 秒 选不出上游时请求排队时长,超时返回 502 排队过长会把 502 放大成雪崩
一致性哈希 仅四层支持 增删后端时只有少量 key 重映射 七层不支持,扩容时缓存集体失效
sticky learn 会话容量 1 MB zone ≈ 4,000 个会话 64 位平台上会话存放在共享内存区 会话膨胀会挤掉旧会话
sticky 会话 timeout 10 分钟 超时未访问的会话被移除 移动端长会话会被判成新会话
backup 不标记(关闭) 标记后仅当主服务器全部不可用才接流量 把备用节点当第二组常态使用
down / drain 不标记(关闭) down 永久摘除;drain 只代理已绑定的请求 临时摘机直接删服务器,哈希映射全变

两个陷阱:后端组里只有一台服务器时,max_fails、fail_timeout 与 slow_start 会被忽略,那台永远不会被判为不可用;只有四层支持一致性哈希,把缓存类后端挂在七层上,每次扩容都会触发一次缓存集体失效。

方案能力矩阵

调度、摘除、会话、灰度和节点增减,每项对应可交付做法。

机房里的调度入口与后端节点

从入口到节点,逐项交付

请求先到统一入口。四层按连接转发,七层按域名和 URL 分流。健康检查把故障节点摘掉,会话保持配合集群同步,灰度只切一部分流量。节点按峰值并发增减,入口配置不用重做。

四层按 TCP 连接转发,适合数据库、长连接与非 HTTP 协议。七层按 HTTP 请求路由,可按域名与 URL 精确分流。

对流量调度的意义: 层次选对,后面就不用回头改架构。

健康检查发现异常后自动隔离该节点,新请求不再分发过去。节点恢复后自动重新加入服务器组。

对流量调度的意义: 一台机器故障不再等于整站中断。

同一用户的请求稳定落到同一节点,并配合集群会话同步。节点增减时登录状态保留。

对流量调度的意义: 扩容不再把购物车和登录态清掉。

新版本先部署到部分节点,只切一小部分流量,确认稳定后再逐步放量。异常时把流量切回旧版本节点。

对流量调度的意义: 回滚不需要重新部署,业务不中断。

横向增加后端节点即可承接新增流量,入口配置与调度策略保持不变。峰值结束后可把节点退出服务器组。

对流量调度的意义: 扩容不必凌晨停机,也不必换掉整套架构。

服务保障

开通之后,调度策略和节点数量仍可按峰值调整。

工作日 30 分钟内首次响应

工作日 30 分钟内首次响应,夜间及周末仅处理宕机。

30–60 分钟标准交付

标准配置 30–60 分钟内交付,定制配置需 1–2 个工作日。

12+ 个地区可选

覆盖美国、中国香港、日本、新加坡与德国等 12+ 个地区。

架构与策略协助配置

协助配置流量监听、转发策略与健康检查规则,参数按业务峰值调整,而不是照抄默认值。

数据冗余存储

支持 Raid 磁盘阵列与机房实时备份,单块硬盘故障不至于打断服务。

99.9% SLA 目标

网络可用性以 99.9% 为目标,带宽与后端节点可随业务调整。

说说你的架构现状,我们给出流量调度方案

后端有几台服务器、业务用什么协议、日常与峰值流量差多少、用户主要分布在哪里、是否要求不停机发布——把这些信息告诉方案顾问,我们会给出调度架构建议与配置报价。

  • 基于现有服务器架构出调度建议
  • 按峰值并发给出后端节点数测算与配置报价
  • 协助配置流量监听、转发策略与健康检查
  • 工作日 30 分钟内首次响应,后端节点可随时增减

常见问题

通常不需要。负载均衡工作在业务入口,后端只需监听对应端口并通过内网接入。若业务依赖本地会话文件,在方案沟通阶段说明即可,我们会给出会话保持或集群会话同步建议。

不会整体中断。健康检查发现异常后自动隔离该节点,新请求不再分发到故障节点,已有访问由其他健康节点继续处理。节点恢复后自动重新加入服务器组。

会话保持让同一用户的请求稳定落到同一节点,配合集群会话同步,节点增减时登录状态不丢失。横向扩容后现有用户不受影响,新用户按调度策略分配到包含新节点的服务器组。

看协议与调度精细度。四层按 TCP 连接转发,适合数据库、长连接与非 HTTP 协议。七层按 HTTP 请求路由,可按域名与 URL 精确分流。层次选错的代价是回头改架构,不只是改一行配置。

不需要。横向增加后端节点即可承接新增流量,入口配置与调度策略保持不变。峰值结束后可把节点退出服务器组以控制成本。

把新版本部署到部分节点,先只把一小部分流量切给这些节点,确认稳定后再逐步放量。发现异常时把流量全部切回旧版本节点即可,回滚不涉及重新部署。

按节点数 = 峰值并发 ÷ 单节点连接档(向上取整)+ 1 台冗余来算。5,000 峰值并发、单节点开 1,000 连接,即 5 台加 1 台冗余共 6 台。把单节点开到 2,000 连接,只需 3 台加 1 台。连接档要按单机实测能力填,max_conns 默认 0 表示不限制。

多半是探测太严。默认失败 1 次、窗口 10 秒,网络抖动时节点会来回摘挂。可以把失败次数调到 2 到 3 次,窗口拉到 10 到 15 秒。节点恢复后打开 slow_start,让权重从 0 慢慢爬升,避免刚恢复就被打满。单节点服务器组里失败次数会被忽略,至少保留两台再靠健康检查摘除。

四层转发默认不改报文,后端看到的源地址是负载均衡入口。要真实客户端地址,七层在转发头里带上 X-Forwarded-For 或 X-Real-IP,后端按这个头记日志和做风控。四层需要入口支持 PROXY 协议,后端也要打开对应解析。不要只按入口 IP 做限流,否则所有用户会被当成同一个来源。

长连接、WebSocket 和数据库协议优先走四层,按 TCP 连接转发,中间不再解析 HTTP。七层适合按域名和 URL 分流的短请求。七层如果超时时间短于连接保活,连接会被入口主动断开。会话保持仍要打开,否则同一条长连接的后续包可能被分到别的节点。