v0.2.68 — 孤儿 Traefik 路由自动回收
修复生产 Traefik 被上千僵尸路由文件拖垮、外部访 问全部超时的问题。
问题背景
生产 Traefik 一天内卡死 2 次,外部访问全部超时,系统基本不可用。根因:
/data/memex/traefik-conf/ 累积 1119 个路由文件,其中 1065 个是僵尸
(预览进程早已死、路由文件残留)。Traefik file provider 每次文件变更就全量
reload 上千个 YAML,8668 entrypoint 监听 hang,外部请求全超时。
僵尸来源
正常 stop_serve 会删路由,但容器重建杀进程、OOM、崩溃等异常路径不走
stop_serve,路由文件就永久留下了。
修复内容
新增 reap_orphan_routes():扫路由文件,用端口 HTTP 探活判定预览死活,
删掉端口无响应的孤儿路由。挂到 preview_patrol_loop(每 300s),持续把
路由数收敛到实际运行的预览数。
生产处置:立即批量清理 1065 个僵尸路由(1119→55),Traefik reload 压力锐减,外部访问恢复(探活稳定 0.3-0.5s)。