关于 planetscale-traffic-control-recommendations
用于评估 PlanetScale Postgres 流量并建议预算与规则,以保护关键负载。它依据现有证据制定建议,优先采用 warn 模式,并要求人工批准;不会直接应用更改。
主要功能
- 01检查预算、查询模式、标签、路由和事件
- 02识别候选流量类别
- 03建议基于标签或指纹的规则
- 04提供优先使用 warn 模式的部署建议
- 05说明风险、观察、回滚和审批计划
适用场景
- 01将 Agent 查询与应用流量分开
- 02限制导出或报表任务的资源使用
- 03评估工作器和集成的预算
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ planetscale/ skills --skill planetscale-traffic-control-recommendations安装后在 Claude Code 中输入/planetscale-traffic-control-recommendations确认已加载。
详细介绍
数据库流量控制建议
目的
对于 PlanetScale Postgres,建议设置流量控制预算和规则,以保护关键流量,避免其受到失控查询、流量激增、批处理作业、Agent 和第三方集成的影响。未经批准,不要创建或更改预算。
前提条件
仅对 PlanetScale Postgres 运行此技能。
建议规则前,请检查:
- 当前预算和规则。
- Insights 中的查询模式。
- 当前查询标签。
- 应用路由和作业。
- 已知关键路径。
- 已知的高开销非关键路径。
- 正在发生的事件或近期异常。
如果缺少查询标签,除非明确需要针对已知问题查询立即设置指纹专属规则,否则应先建议添加标签。
候选流量类别
请查找:
- 导出操作。
- 报表。
- 搜索端点。
- 管理后台仪表盘。
- 回填任务。
- 工作进程和队列。
- 来自第三方系统的 Webhook。
- BI 工具。
- Agent 生成的读取查询。
- 高频轮询。
- 已知的高开销查询指纹。
- 由客户触发、流量差异较大的端点。
预算模式
请按以下顺序建议:
- 正常逐步上线时,先使用
warn模式。 - 观察警告和误报。
- 调整标签、指纹和阈值。
- 只有在获得明确批准且具备紧急回滚方案后,才切换到
enforce模式。
除非正在发生事件且操作人员明确要求紧急缓解,否则不要建议直接启用 enforce。
规则策略
在标签稳定且取值范围有限时,优先使用基于标签的规则:
source=agentsource=bifeature=exportfeature=reportroute=/admin/reportsjob=DailyBackfillservice=analytics-worker
以下情况使用指纹规则:
- 存在已知的危险特定查询模式。
- 缺少标签或标签不可靠。
- 难以确定查询来源。
对差异显著的每类流量分别设置预算。
不要将无关流量合并到同一预算中,否则会掩盖预算消耗者。
建议的默认预算
请将以下内容作为建议模式,而不是不加判断地直接采用的数值。
Agent 预算
目标:标记为 source=agent 或 source=mcp 的查询。
意图:防止 Agent 挤占应用流量的资源。
模式:从 warn 开始。
建议:Agent 应优先使用副本和只读权限。写入操作需要人工批准。
导出/报表预算
目标:feature=export、feature=report,或特定报表路由/作业。
意图:避免客户触发的报表任务耗尽所有数据库资源。
模式:从 warn 开始;观察一段时间后再考虑使用 enforce。
后台作业预算
目标:工作进程服务、队列或作业标签。
意图:防止回填任务和重试挤占交互式流量的资源。
模式:先使用 warn;确认队列背压行为后再启用 enforce。
第三方集成预算
目标:source=integration、合作伙伴专属且取值范围有限的标签,或用于传入集成调用的路由模板。
意图:隔离行为不可预测的合作伙伴流量。
模式:先使用 warn。
已知指纹预算
目标:特定的高开销查询指纹。
意图:在开发代码或架构修复期间,限制已知的异常查询。
模式:除紧急情况外,先使用 warn。
“每个标签值”策略
当 PlanetScale 支持针对所选标签的每个唯一值分别应用预算时,建议用于以下取值范围有限的标签:
applicationserviceroute(经过规范化时)jobfeaturesource
不要将此策略用于取值无界的标签,例如用户 ID、请求 ID、原始租户 ID、电子邮件地址、UUID 或原始 URL。
需说明的限制和注意事项
每项建议都必须说明:
- 流量控制限制资源使用;它不能替代查询调优。
- 它不是 Web 应用防火墙。
- 它不能替代应用级速率限制。
- 限制是防护措施,并不能保证在每种故障模式下都精确生效。
- 错误的标签会导致错误的规则。
- 强制模式可能会拒绝查询,并影响应用行为。
输出格式
对于每项拟议的预算:
- 预算名称。
- 目标分支。
- 模式:off、warn 或 enforce。
- 匹配的流量范围。
- 规则类型:tag、fingerprint、keyspace、query kind。
- 拟议的标签或指纹。
- 限制原因。
- Insights 中支持该建议的已观察查询。
- 安全风险。
- 测试/观察计划。
- 回滚计划。
- 审批要求。
最后以以下内容结束:
“尚未创建、更新、删除或强制执行任何流量控制预算或规则。”