v1.4.1
v1.4.1 - 流量/会话切换不断流 + 并发上限可配
修复:切换流量/会话时不再掐断正在传输的 SSE(本次核心)
用户端「用着用着突然卡住、前端请求为 0、无在线连接」的根因:切换代理或 re-admit 会话时,
把正在传输的 SSE 流底下的 session 直接 DELETE 了——上游连接还在但 session 已消失,
客户端只能永久等待。本次修复:
- 会话临近过期切换平滑化:需要 re-admit 换新会话时,若旧会话正被在途流使用,
先等在途流结束后才释放重建(循环等待防竞态),绝不掐断健康连接; - 代理切换不断流:前端保存代理池/账号出口后立即生效(新请求走新出口),旧 runtime
的 session 在后台等在途 SSE 结束后再优雅释放; - 排队等锁期间切换不卡死:请求排队时若发生代理/账号切换,会自动检测到 runtime
已被顶替并无冷却重新选号(走新出口、新 session),不会撞上已失效的旧会话; - 新增 3 个回归测试覆盖上述场景(re-admit 不断流 / 代理切换不断流 / 排队切换重新选号)。
负载均衡增强
- 账号并发上限可配(控制台「负载均衡设置」,默认 1:1,范围 1..16,保存立即生效):
一个账号可同时转发多条 SSE 响应流;总览每账号显示「并发(在途/上限)」实时监控; - 前端「全部断开重连」(admin,
POST /api/system/reconnect):释放全部 session +
重置并发信号量,比重启更轻量,下个请求自动 re-admit; - 会话临近过期提前 re-admit(
session.re_admit_lead_sec,默认 60s),流 idle 超时按
会话剩余时间收敛。
其他
- README 顶部增加 Releases 发布页链接。
部署
git pull && docker compose pull && docker compose up -d