微服务负载均衡学习

在电商微服务项目中引入深信服负载均衡(AD系列)后,架构将形成"多重负载均衡"体系,深信服AD作为全局流量入口与高可用网关,与Nginx、微服务网关分工协作,进一步提升系统的稳定性和扩展性。以下是整合后的拓扑图、核心作用及工作流程:

一、整合深信服负载均衡后的拓扑图(文字版)

复制代码
┌───────────────┐        ┌─────────────────────────────────────────────────────────────────────────┐
│  终端用户     │        │                          生产环境集群                                  │
│ (浏览器/APP)  ├────────►                                                                         │
└───────────────┘        │  ┌─────────────────┐        ┌─────────────────┐                        │
                         │  │  深信服负载均衡  │        │  深信服负载均衡  │                        │
                         │  │  (主设备AD-1)   │◄───────►│  (备设备AD-2)   │  高可用集群(主备切换)  │
                         │  │  公网IP: 203.0.113.10  │  公网IP: 203.0.113.11  │                        │
                         │  └────────┬────────┘        └─────────────────┘                        │
                         │           │                                                             │
                         │           ▼                                                             │
                         │  ┌─────────────────────────────────────────────────────────┐              │
                         │  │               内网服务层                                  │              │
                         │  │  ┌──────────────┐        ┌──────────────┐                 │              │
                         │  │  │  Nginx集群   │        │  静态资源    │                 │              │
                         │  │  │192.168.1.100:80│       │  存储服务器  │                 │              │
                         │  │  │192.168.1.101:80│       │/data/shop/static│                │              │
                         │  │  └───────┬──────┘        └──────────────┘                 │              │
                         │  │          │                                                │              │
                         │  │          ▼                                                │              │
                         │  │  ┌────────────────────────────────────────────┐           │              │
                         │  │  │      微服务网关集群(Spring Cloud Gateway)  │           │              │
                         │  │  │192.168.1.105:8080  │  192.168.1.106:8080  │           │              │
                         │  │  └───────────┬──────────────────────┬─────────┘           │              │
                         │  └──────────────┼──────────────────────┼──────────────────────┘              │
                         │                 │                      │                                     │
                         │                 ▼                      ▼                                     │
                         │  ┌─────────────────────────────────────────────────────────┐              │
                         │  │              核心微服务集群(Nacos注册发现)             │              │
                         │  │  用户服务  │  商品服务  │  订单服务  │  支付服务  │ ...  │              │
                         │  └─────────────────────────────────────────────────────────┘              │
                         │                 │                      │                                     │
                         │                 ▼                      ▼                                     │
                         │  ┌───────────────┐        ┌────────────────┐  ┌──────────────┐               │
                         │  │  Nacos集群    │        │  Redis缓存集群  │  │  MySQL集群   │               │
                         │  └───────────────┘        └────────────────┘  └──────────────┘               │
                         └─────────────────────────────────────────────────────────────────────────┘

二、深信服负载均衡的核心作用(与Nginx的分工)

深信服AD作为硬件级负载均衡设备,部署在公网与内网之间,承担全局流量调度和高可用保障,与Nginx形成"互补协作":

功能场景 深信服负载均衡(AD)的作用 Nginx的作用
公网流量入口 接收公网用户请求(绑定域名www.shop.com的公网IP),是系统的"第一道门"。 处理内网静态资源和网关转发,不直接暴露公网。
全局负载均衡 对后端Nginx集群、网关集群做负载均衡(支持四层TCP/七层HTTP协议)。 仅对网关实例做负载均衡(限于内网局部范围)。
高可用保障 主备设备实时同步配置,故障时自动切换(毫秒级),确保公网入口不中断。 依赖深信服AD实现Nginx集群的高可用,自身无主备切换能力。
安全防护 集成WAF功能(防SQL注入、XSS攻击)、DDoS防护,过滤恶意公网流量。 仅做基础限流和防盗链,无专业安全防护能力。
SSL卸载 集中处理HTTPS加密解密(SSL Termination),减轻Nginx和网关的CPU压力。 若未用AD,需自行配置HTTPS,消耗服务器资源。
智能流量调度 支持按URL路径、客户端IP、带宽等复杂规则分发流量(如将移动端请求路由到专用网关)。 规则相对简单,适合固定路径匹配。

三、关键配置与工作流程(以"用户下单"为例)

用户操作:通过https://www.shop.com/api/v1/orders提交订单(POST请求)。

步骤1:公网流量进入深信服AD
  • 用户请求经DNS解析到深信服AD的公网IP(203.0.113.10),AD设备接收HTTPS请求。
  • SSL卸载:AD解密HTTPS流量(证书配置在AD上),转为HTTP请求,减轻后端服务器压力。
  • 安全检查 :AD内置WAF引擎检测请求是否包含SQL注入(如order by 1--),过滤恶意请求。
步骤2:AD负载均衡到Nginx集群
  • AD根据预设规则(如轮询),将请求分发到内网Nginx集群(192.168.1.100:80192.168.1.101:80)。
  • 规则示例:AD配置"/api/*路径的请求转发到Nginx集群",静态资源路径(如/images/*)也可直接由AD转发到静态存储服务器(优化路径)。
步骤3:Nginx转发到网关集群
  • Nginx接收请求,匹配location /api规则,通过自身负载均衡将请求转发到微服务网关实例(192.168.1.105:8080192.168.1.106:8080)。
步骤4:网关与微服务处理
  • 网关路由请求到order-service,调用用户服务、库存服务完成下单逻辑(流程同之前的微服务架构)。
步骤5:响应原路返回
  • 响应结果经网关→Nginx→深信服AD(AD重新加密为HTTPS)→用户浏览器,完成下单。

四、核心优势:为什么引入深信服负载均衡?

  1. 更高的可靠性:硬件级主备切换(RTO < 100ms),比软件负载均衡(如Nginx+Keepalived)更稳定,适合电商核心业务。
  2. 更强的性能:支持每秒数十万并发连接,SSL卸载能力是软件方案的5-10倍,大促时可支撑百万级用户访问。
  3. 集成安全能力:内置WAF和DDoS防护,无需额外部署安全设备,简化架构(如拦截针对支付接口的恶意攻击)。
  4. 精细化流量调度:支持按用户地区、设备类型、URL参数等分发流量(如将北京用户路由到华北区服务器)。

总结

在电商项目中,深信服负载均衡作为公网入口的"超级调度器" ,负责全局流量分发、高可用保障和安全防护;Nginx作为内网局部负载均衡,处理静态资源和网关转发;两者与微服务网关、Nacos等组件配合,形成"多层负载均衡+安全防护"的高可用架构,满足电商平台高并发、高可靠的需求。

实际部署时,深信服AD的配置需重点关注:HTTPS证书管理、负载均衡算法(如源地址哈希解决session问题)、健康检查规则(自动剔除故障节点)、以及与Nginx的路径转发协同。

相关推荐
伯明翰java4 小时前
Redis学习笔记-List列表(2)
redis·笔记·学习
云帆小二4 小时前
从开发语言出发如何选择学习考试系统
开发语言·学习
Elias不吃糖5 小时前
总结我的小项目里现在用到的Redis
c++·redis·学习
BullSmall5 小时前
《道德经》第六十三章
学习
AA陈超5 小时前
使用UnrealEngine引擎,实现鼠标点击移动
c++·笔记·学习·ue5·虚幻引擎
BullSmall6 小时前
《道德经》第六十二章
学习
Knox_Lai6 小时前
数据结构与算法学习(0)-常见数据结构和算法
c语言·数据结构·学习·算法
Tonya437 小时前
测开学习DAY32
学习
AA陈超7 小时前
Lyra源码分析:LyraCharacterMovementComponent
c++·笔记·学习·ue5·虚幻引擎·lyra
brave and determined9 小时前
可编程逻辑器件学习(day26):低主频FPGA为何能碾压高主频CPU?
人工智能·嵌入式硬件·深度学习·学习·fpga开发·云计算·fpga