docs(config+plan): 负载均衡示例 + 开发记录更新

- cocoon.json: 展示多后端负载均衡配置(/api -> 3000/3001)
- .cocoon-plan.md: 标记负载均衡完成,更新待办池和最近行动记录
This commit is contained in:
xfy911 2026-06-08 16:17:14 +08:00
parent acda3b9c3e
commit c3d4b112d7
2 changed files with 16 additions and 6 deletions

View File

@ -51,6 +51,7 @@
- [x] **中间件机制** — 注册表 + 链式执行,内置 CORS / Basic Auth / Rate Limit ✅ 2026-06-06 - [x] **中间件机制** — 注册表 + 链式执行,内置 CORS / Basic Auth / Rate Limit ✅ 2026-06-06
- [x] **插件系统** — 动态加载 .so/.dll 扩展 ✅ 2026-06-06MVPdlopen + 中间件注册 + 示例插件) - [x] **插件系统** — 动态加载 .so/.dll 扩展 ✅ 2026-06-06MVPdlopen + 中间件注册 + 示例插件)
- [x] **反向代理 HTTPS 后端** — 轻量级 OpenSSL 客户端封装,支持 TLS 1.2+ 握手 + SNI ✅ 2026-06-08 - [x] **反向代理 HTTPS 后端** — 轻量级 OpenSSL 客户端封装,支持 TLS 1.2+ 握手 + SNI ✅ 2026-06-08
- [x] **反向代理负载均衡** — 轮询调度 + 故障自动转移多后端支持最多8个✅ 2026-06-08
## 项目状态:恢复开发 ## 项目状态:恢复开发
@ -62,14 +63,21 @@
- 当前仅做编译和测试验证,不添加新代码 - 当前仅做编译和测试验证,不添加新代码
## 待办池(活跃) ## 待办池(活跃)
1. 负载均衡(多后端轮询/加权)— 反向代理下一步 1. 后端连接池/keep-alive — 避免每次请求新建连接(优先级高)
2. 后端连接池/keep-alive — 避免每次请求新建连接 2. 监控指标Prometheus /_metrics— 导出 RPS、连接数、延迟等
3. 监控指标Prometheus /_metrics 3. 虚拟主机 / 多站点 — 低优先级
4. 虚拟主机 / 多站点 — 低优先级 4. 加权轮询 / 健康检查 — 负载均衡进阶
## 最近行动记录 ## 最近行动记录
- 2026-06-08 16:00: **恢复开发** — 用户再次指示继续 cocoon不暂停。 - 2026-06-08 16:10: **负载均衡(轮询 + 故障转移)**
- `proxy.h`: 重构数据结构,支持多后端(`cocoon_proxy_backend_t`最多8个
- `proxy.c`: 实现轮询调度 + 自动故障转移(后端连接失败时自动尝试下一个)
- `proxy.c`: `proxy_add_rule` 支持同 prefix 追加后端,自动合并为多后端规则
- `server.c`: 匹配新签名
- `cocoon.json`: 示例配置展示多后端用法(两个 backend 3000/3001
- 编译零警告142 单元测试 + 82 集成测试全部通过
- 提交 `acda3b9` 已推送到 `main`
- 2026-06-08 15:00: **维护检查** — 项目处于暂停状态(用户指示 "🤚cocoon" - 2026-06-08 15:00: **维护检查** — 项目处于暂停状态(用户指示 "🤚cocoon"
- 编译通过:零警告(仅 coco 子模块 `.S` 文件 linker 提示,不影响功能) - 编译通过:零警告(仅 coco 子模块 `.S` 文件 linker 提示,不影响功能)

View File

@ -11,6 +11,8 @@
"plugins": ["plugins/hello.so"], "plugins": ["plugins/hello.so"],
"access_log": "-", "access_log": "-",
"proxies": [ "proxies": [
{"prefix": "/api", "target": "http://localhost:3000"} {"prefix": "/api", "target": "http://localhost:3000"},
{"prefix": "/api", "target": "http://localhost:3001"},
{"prefix": "/backend", "target": "https://localhost:8443"}
] ]
} }