⚙️ Nginx/Gateway 原理
微服务网关知识体系总览
API 网关是微服务架构的流量入口,承担了认证鉴权、限流熔断、路由转发、灰度发布等核心职责。面试中,网关的考察往往结合具体技术(Nginx、Spring Cloud Gateway)展开,理解原理比背配置更重要。
一、知识体系总览
Section titled “一、知识体系总览”1.1 学习路径
Section titled “1.1 学习路径”第1阶段 网关原理 → Nginx、Gateway第2阶段 限流鉴权 → 令牌桶、JWT第3阶段 灰度发布 → 蓝绿、金丝雀1.2 核心知识点思维导图
Section titled “1.2 核心知识点思维导图” 网关 │ ┌───────────┬─────────────┴─────────────┐ ▼ ▼ ▼ ▼ Nginx Gateway 限流 灰度 │ │ │ │• epoll • Predicate • 令牌桶 • 蓝绿部署• Worker • Filter • 漏桶 • 金丝雀• Master • 路由 • 计数器 • A/B测试• 负载均衡 • 服务发现 • 滑动窗口 • 流量染色1.3 面试重点总结
Section titled “1.3 面试重点总结”| 专题 | 考察频率 | 难度 | 核心能力 |
|---|---|---|---|
| 网关原理 | ★★★★★ | 高 | epoll |
| 限流 | ★★★★☆ | 中 | 算法 |
| 鉴权 | ★★★★☆ | 中 | JWT |
| 灰度 | ★★★☆☆ | 中 | 流量分发 |
二、三大核心专题
Section titled “二、三大核心专题”🛡️ 限流鉴权
🎯 灰度发布
三、面试难度分布
Section titled “三、面试难度分布”| 知识点 | 初级面试 | 中级面试 | 高级面试 |
|---|---|---|---|
| 网关的作用 | ✅ 必问 | ✅ 必问 | ✅ 必问 |
| Nginx 高并发原理 | 偶尔 | ✅ 常问 | ✅ 必问 |
| 限流算法 | 偶尔 | ✅ 常问 | ✅ 必问 |
| JWT vs Session | ✅ 常问 | ✅ 常问 | ✅ 必问 |
| 令牌桶 vs 漏桶 | ❌ 少问 | ✅ 常问 | ✅ 必问 |
| 灰度发布方案 | ❌ 少问 | ✅ 常问 | ✅ 必问 |
| 蓝绿 vs 金丝雀 | ❌ 少问 | 偶尔 | ✅ 常问 |
四、网关在微服务架构中的位置
Section titled “四、网关在微服务架构中的位置”用户/客户端 │ ▼┌─────────────────────────────────────┐│ API 网关 ││ ┌─────────┐ ┌────────┐ ┌──────┐ ││ │ 认证鉴权 │ │ 限流熔断│ │ 路由 │ ││ └─────────┘ └────────┘ └──────┘ ││ ┌─────────┐ ┌────────┐ ││ │ 日志监控 │ │ 灰度发布│ ││ └─────────┘ └────────┘ │└─────────────────────────────────────┘ │ ├── 用户服务(User Service) ├── 订单服务(Order Service) ├── 商品服务(Product Service) └── 支付服务(Payment Service)Nginx vs Spring Cloud Gateway 选型
Section titled “Nginx vs Spring Cloud Gateway 选型”| 维度 | Nginx | Spring Cloud Gateway |
|---|---|---|
| 语言 | C | Java(Spring WebFlux) |
| 性能 | 极高(C语言,epoll) | 高(响应式,非阻塞) |
| 动态配置 | 需重载配置文件 | 支持动态路由(配置中心) |
| 服务发现 | 手动配置或 Lua 脚本 | 原生集成 Nacos/Eureka |
| 扩展性 | Lua 脚本(OpenResty) | Spring 生态,Java 扩展 |
| 适用场景 | 7层负载均衡、静态资源、SSL | 微服务 API 网关、动态路由 |