docs: record checker design inputs
This commit is contained in:
parent
7951c292d3
commit
0108b9e813
23
findings.md
23
findings.md
@ -82,3 +82,26 @@ Routing 自上而下匹配,首条命中停止;支持 Gateway 与 Extract 两
|
||||
- Provider 超时不得计入 Empty Fetch。
|
||||
- 重复代理不得重复入池,也不得触发空结果切换。
|
||||
- 所有 Upstream 不可用时按显式策略执行。
|
||||
|
||||
## Checker 与健康归并事实(2026-07-29)
|
||||
|
||||
- Checker 是可水平扩展的事实采集进程,只执行有截止时间的探测并上报
|
||||
Observation;只有 Controller Reducer 能改变权威 Proxy/目标健康状态。
|
||||
- 健康层级为 BASIC、EGRESS、TARGET。新 Proxy 必须先完成全局基础检查;目标级
|
||||
失败只影响对应 Routing/Target Profile,不得把全局仍健康的 Proxy 淘汰。
|
||||
- 全局状态规则固定为:首次有意义失败进入 SUSPECT,连续失败达到
|
||||
`maxConsecutiveFailures` 后进入 UNHEALTHY,复检成功恢复 AVAILABLE。
|
||||
- 调度不能为每个 Proxy 建立常驻 goroutine 或无界队列;必须稳定分散任务、加入
|
||||
jitter、限制 `maxInFlight`,并按 FETCHED、SUSPECT、AVAILABLE 的顺序优先。
|
||||
- 现有 `activitypool.HealthStore.ApplyHealth` 只能提交最终状态、时间和延迟,不能
|
||||
原子维护连续失败计数或目标级 Profile;新模块需要将“纯 Reducer 决策”和
|
||||
“活动池原子提交”分离,通过公用窄接口复用 Memory/Redis 行为契约。
|
||||
- `api/proto/controlplane/v1/controlplane.proto` 已定义 CheckTask、CheckLevel 和
|
||||
HealthObservation,后续 Go 领域类型必须保持字段语义一致,但不直接依赖生成的
|
||||
transport 类型。
|
||||
|
||||
## Git 同步事实(2026-07-29)
|
||||
|
||||
- PostgreSQL 管理面基础文档已提交为 `7951c29`。
|
||||
- 推送远端时返回 `Authentication failed`;没有重复相同失败操作,本地提交保持
|
||||
完整,待 Git 凭据恢复后同步。
|
||||
|
||||
@ -31,6 +31,9 @@
|
||||
- 本轮 `.\scripts\verify.ps1`、`.\scripts\test-redis.ps1`、Compose 静态展开和
|
||||
Compose 非持久化策略测试通过;Windows `CGO_ENABLED=0`,race 继续由 Linux
|
||||
CI 执行。
|
||||
- 本地 PostgreSQL 管理面基础已提交为 `7951c29`;推送
|
||||
`build/proxy-pool-architecture` 时远端返回 `Authentication failed`,未重复执行
|
||||
相同推送。当前本地提交保持完整,等待可用 Git 凭据后同步。
|
||||
|
||||
## 2026-07-28
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user