fengling-gateway/.planning/ROADMAP.md
2026-03-02 18:15:23 +08:00

107 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# RoadmapFengling Gateway
**创建日期:** 2026-03-02
**核心价值:** 可靠、可扩展的 API 网关,将流量分发到后端微服务,支持零停机配置更新。
---
## 阶段 1Console 驱动的配置管理与多实例支持
**目标:** 实现 console 驱动的配置管理和多实例支持。
**需求:**
- CFG-01网关监听来自 fengling-console 的配置变更事件
- CFG-02收到通知后网关无需重启即可重载配置
- CFG-03多实例网关通过广播接收配置更新
- INST-01多个网关实例可以同时运行
- INST-02配置变更传播到所有实例
- INST-03使用 Redis pub/sub 进行跨实例通信
**成功标准:**
1. 网关可以订阅来自 console 的配置变更事件
2. 配置重载无需重启网关
3. 多个网关实例保持同步
4. 广播事件在 5 秒内到达所有实例
---
## 阶段 2K8s 健康检查委托
**目标:** 将 K8s 健康监控从网关移除,委托给 console。
**需求:**
- K8S-01从网关注销 K8s 健康监控
- K8S-02网关将服务健康检查委托给 console
**成功标准:**
1. KubernetesPendingSyncService 已弃用/从网关移除
2. 健康检查逻辑移至 console 项目
3. 网关只执行请求路由,不做健康监控
---
## 阶段 3安全加固
**目标:** 修复关键安全漏洞。
**需求:**
- SEC-01移除源代码中的硬编码凭据
- SEC-02实现正确的 JWT Token 验证
- SEC-03为网关管理 API 端点添加认证
**成功标准:**
1. 源代码中无硬编码密码/密钥
2. JWT Token 经过验证(签名、过期时间、颁发者、受众)
3. 所有 /api/gateway/* 端点需要认证
---
## 阶段 4性能优化
**目标:** 优化高负载下的网关性能。
**需求:**
- PERF-01优化负载均衡锁竞争
- PERF-02实现增量路由缓存更新
**成功标准:**
1. 负载均衡不需要每个请求都获取 Redis 锁
2. 路由缓存更新是增量式的,而非全量重载
3. 网关处理能力提升 10 倍
---
## 阶段 5可观测性与测试
**目标:** 添加可观测性和测试覆盖。
**需求:**
- OBS-01分布式追踪集成
- OBS-02网关性能自定义指标
- TEST-01RouteCache 单元测试
- TEST-02JwtTransformMiddleware 单元测试
- TEST-03负载均衡策略单元测试
**成功标准:**
1. 分布式追踪包含网关跨度
2. 导出关键指标(请求数、延迟、错误率)
3. 核心组件测试覆盖率 >80%
---
## Roadmap 摘要
| 阶段 | 名称 | 需求数 | 状态 |
|------|------|--------|------|
| 1 | Console 驱动配置与多实例支持 | 6 | 未规划 |
| 2 | K8s 健康检查委托 | 2 | 未规划 |
| 3 | 安全加固 | 3 | 未规划 |
| 4 | 性能优化 | 2 | 未规划 |
| 5 | 可观测性与测试 | 5 | 未规划 |
**总计:** 5 个阶段 | 18 个需求 | 全部覆盖 ✓
---
*最后更新2026-03-02 Roadmap 创建后*