docs(plan): 更新计划,标记加权轮询完成,新增 HTTP/2 代理待办
This commit is contained in:
parent
dc765854a1
commit
9000cdb23a
@ -60,17 +60,31 @@
|
|||||||
|
|
||||||
- 所有 Phase 1-4 核心功能已完成(反向代理负载均衡 + Prometheus 指标已加入)
|
- 所有 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)
|
2. **HTTP/2 代理支持** — 将反向代理接入 HTTP/2 流(当前仅 HTTP/1.1)
|
||||||
3. 虚拟主机 / 多站点 — 低优先级
|
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: **连接池大小可配置**
|
- 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.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`
|
- `proxy.c`: `proxy_pool_init` 接收 `max_pool_size` 参数,自动裁剪到上限;所有循环改用 `backend->pool.max_size`
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user