docs(plan): 更新计划,标记加权轮询完成,新增 HTTP/2 代理待办

This commit is contained in:
xfy911 2026-06-09 06:08:30 +08:00
parent dc765854a1
commit 9000cdb23a

View File

@ -60,17 +60,31 @@
- 所有 Phase 1-4 核心功能已完成(反向代理负载均衡 + Prometheus 指标已加入)
- 编译通过,零警告
- **142 个单元测试全部通过** + **90 项集成测试全部通过**(新增 8 项指标测试)
- **142 个单元测试全部通过** + **93 项集成测试全部通过**(新增 3 项加权轮询测试)
- 当前仅做编译和测试验证,不添加新代码
## 待办池(活跃)
1. ~~连接池最大连接数可配置 — 当前固定为4~~ ✅ 2026-06-09
1. ~~平滑加权轮询负载均衡~~ ✅ 2026-06-09
2. **HTTP/2 代理支持** — 将反向代理接入 HTTP/2 流(当前仅 HTTP/1.1
3. 虚拟主机 / 多站点 — 低优先级
4. 加权轮询 / 主动健康检查 — 负载均衡进阶(当前为被动检测
4. 主动健康检查 — 后台线程定期探测后端(当前为被动式
## 最近行动记录
- 2026-06-09 06:00: **平滑加权轮询负载均衡**
- `proxy.h`: 后端结构添加 `weight`(配置权重)和 `current_weight`(动态权重)字段
- `proxy.c`: 实现平滑加权轮询算法Nginx SWW`select_backend_sww()` + `select_backend_sww_all()`
- 算法:健康后端 current_weight += weight选最大选中后 -= total_weight
- 保证权重比例严格满足,分布均匀,不会连续打到同一后端
- `proxy.c`: `proxy_add_rule` 新增 `weight` 参数,`backend_init` 初始化权重默认1
- `config.c`: JSON 解析器新增 `weight` 数字字段解析
- `cocoon.h`: 代理配置结构新增 `uint32_t weight` 字段
- `server.c`: 加载代理规则时传入配置的 `weight`
- `cocoon.json`: 示例配置展示多后端权重用法(`/api` → 3000:3 + 3001:1
- `tests/integration_test.sh`: 新增加权轮询测试3项HTTP 200、权重日志验证、多后端分布验证
- 编译零警告142 单元测试 + 93 集成测试全部通过
- 提交已推送 `main` (dc76585)
- 2026-06-09 03:00: **连接池大小可配置**
- `proxy.h`: `COCOON_MAX_POOL_SIZE``COCOON_POOL_MAX_CAPACITY`上限16+ `COCOON_POOL_DEFAULT_SIZE`默认4`cocoon_conn_pool_t` 新增 `max_size` 字段
- `proxy.c`: `proxy_pool_init` 接收 `max_pool_size` 参数,自动裁剪到上限;所有循环改用 `backend->pool.max_size`