opsx
5f42d9f696
CI / Backend (go vet + test) (push) Canceled after 0s
CI / Frontend (lint + build + test) (push) Canceled after 0s
perf(logs): label 缓存 TTL 30s + 平台变更即时失效(回答"新 app 会不会延迟")
问题:加了 60 秒缓存后,新增 app / 新副本 / 新主机采集器要等最久 60 秒
才出现在下拉里,抢修时"刚上线的服务查不到"是不可接受的。
两层处理:
1) TTL 60s → 30s(前后端一致)
纯 Loki 侧的变更(新 Pod 开始打日志、新副本、主机上新进程写日志)
最长 30 秒可见。这类变化平台无从感知,只能靠 TTL 兜住。
2) 平台侧变更**立即失效**(不等 TTL)
新增 InvalidateLabelCache(),在下列入口 defer 调用:
CollectorService.Create / Update (主机模式 app 标签来源)
DeploymentService.Delete (连带清理托管数据源)
CreateLogSource / UpdateLogSource / DeleteLogSource
也就是"用户在平台上做了什么导致候选值集合变化",缓存当场清掉,
下一个请求必然回源。这正好覆盖"主机采集的 app 标签"这个场景 ——
采集器一改,下拉里马上就有。
关于「要不要用定时任务预热」:
不做。预热只能省掉一次 25~40ms 的网络往返,却要多一个常驻任务和
一份额外的失败路径;而"时效性"问题已经由上面的即时失效解决了。
如果将来真要削掉这 40ms,更划算的做法是把 label 值随部署一起下发缓存,
而不是定时轮询 Loki。
2026-10-31 18:27:17 +00:00
..
2026-10-31 22:51:55 +08:00
2026-11-01 01:59:17 +08:00
2026-10-31 06:39:01 +00:00
2026-11-01 01:59:17 +08:00
2026-11-01 00:46:38 +08:00
2026-10-31 06:39:01 +00:00
2026-10-31 22:51:55 +08:00
2026-10-29 03:38:30 +00:00
2026-10-30 03:42:03 +00:00
2026-10-31 02:20:34 +08:00
2026-10-29 04:16:52 +00:00
2026-10-27 17:11:38 +08:00
2026-10-27 17:11:38 +08:00
2026-10-29 04:16:52 +00:00
2026-10-27 17:11:38 +08:00
2026-10-30 01:17:26 +08:00
2026-10-28 20:27:48 +00:00
2026-10-28 20:01:38 +00:00
2026-10-28 20:01:38 +00:00
2026-10-30 16:10:51 +00:00
2026-10-30 16:10:51 +00:00
2026-10-25 21:28:32 +08:00
2026-10-25 21:28:32 +08:00
2026-10-29 04:16:52 +00:00
2026-10-31 18:27:17 +00:00
2026-10-29 04:16:52 +00:00
2026-10-30 17:13:18 +00:00
2026-10-30 17:13:18 +00:00
2026-10-30 17:13:18 +00:00
2026-10-28 17:05:57 +00:00
2026-10-27 17:11:38 +08:00
2026-10-27 17:11:38 +08:00
2026-10-25 21:28:32 +08:00
2026-10-29 15:16:18 +08:00
2026-10-29 13:02:11 +08:00
2026-10-31 18:27:17 +00:00
2026-10-29 16:36:21 +08:00
2026-10-28 18:41:39 +00:00
2026-10-28 20:01:38 +00:00
2026-10-30 01:17:26 +08:00
2026-10-27 17:11:38 +08:00
2026-10-25 21:28:32 +08:00
2026-10-27 17:11:38 +08:00
2026-10-29 04:16:52 +00:00
2026-10-29 04:16:52 +00:00
2026-10-27 17:11:38 +08:00
2026-10-27 17:11:38 +08:00
2026-10-31 23:08:06 +08:00
2026-10-31 23:08:06 +08:00
2026-10-28 22:43:57 +08:00
2026-10-27 17:11:38 +08:00
2026-10-27 17:11:38 +08:00
2026-10-31 18:27:17 +00:00
2026-10-31 18:27:17 +00:00
2026-10-29 13:02:11 +08:00
2026-11-01 00:46:38 +08:00
2026-10-30 15:41:38 +00:00
2026-10-29 13:29:25 +08:00
2026-10-27 17:11:38 +08:00
2026-10-27 17:11:38 +08:00
2026-10-28 17:58:30 +00:00
2026-10-27 17:11:38 +08:00
2026-10-28 21:27:01 +00:00
2026-10-27 17:11:38 +08:00
2026-10-28 22:54:12 +00:00
2026-10-30 16:03:24 +00:00
2026-10-29 13:02:11 +08:00
2026-10-29 13:02:11 +08:00
2026-10-28 18:41:39 +00:00
2026-10-27 04:16:55 +00:00
2026-10-28 20:27:48 +00:00
2026-10-28 20:27:48 +00:00
2026-10-29 04:16:52 +00:00
2026-10-29 04:16:52 +00:00
2026-10-29 14:48:25 +08:00
2026-10-28 17:58:30 +00:00
2026-10-27 17:11:38 +08:00
2026-10-29 04:16:52 +00:00
2026-10-27 17:11:38 +08:00
2026-10-30 01:17:26 +08:00