mcpField
P
planetscale-traffic-control-recommendations

planetscale-traffic-control-recommendations

github.com/planetscale数据与数据库1361.7k 次安装8 周前更新
代码仓库

关于 planetscale-traffic-control-recommendations

用于评估 PlanetScale Postgres 流量并建议预算与规则,以保护关键负载。它依据现有证据制定建议,优先采用 warn 模式,并要求人工批准;不会直接应用更改。

主要功能

  1. 01检查预算、查询模式、标签、路由和事件
  2. 02识别候选流量类别
  3. 03建议基于标签或指纹的规则
  4. 04提供优先使用 warn 模式的部署建议
  5. 05说明风险、观察、回滚和审批计划

适用场景

  1. 01将 Agent 查询与应用流量分开
  2. 02限制导出或报表任务的资源使用
  3. 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 生成的读取查询。
  • 高频轮询。
  • 已知的高开销查询指纹。
  • 由客户触发、流量差异较大的端点。

预算模式

请按以下顺序建议:

  1. 正常逐步上线时,先使用 warn 模式。
  2. 观察警告和误报。
  3. 调整标签、指纹和阈值。
  4. 只有在获得明确批准且具备紧急回滚方案后,才切换到 enforce 模式。

除非正在发生事件且操作人员明确要求紧急缓解,否则不要建议直接启用 enforce。

规则策略

在标签稳定且取值范围有限时,优先使用基于标签的规则:

  • source=agent
  • source=bi
  • feature=export
  • feature=report
  • route=/admin/reports
  • job=DailyBackfill
  • service=analytics-worker

以下情况使用指纹规则:

  • 存在已知的危险特定查询模式。
  • 缺少标签或标签不可靠。
  • 难以确定查询来源。

对差异显著的每类流量分别设置预算。

不要将无关流量合并到同一预算中,否则会掩盖预算消耗者。

建议的默认预算

请将以下内容作为建议模式,而不是不加判断地直接采用的数值。

Agent 预算

目标:标记为 source=agent 或 source=mcp 的查询。

意图:防止 Agent 挤占应用流量的资源。

模式:从 warn 开始。

建议:Agent 应优先使用副本和只读权限。写入操作需要人工批准。

导出/报表预算

目标:feature=export、feature=report,或特定报表路由/作业。

意图:避免客户触发的报表任务耗尽所有数据库资源。

模式:从 warn 开始;观察一段时间后再考虑使用 enforce。

后台作业预算

目标:工作进程服务、队列或作业标签。

意图:防止回填任务和重试挤占交互式流量的资源。

模式:先使用 warn;确认队列背压行为后再启用 enforce。

第三方集成预算

目标:source=integration、合作伙伴专属且取值范围有限的标签,或用于传入集成调用的路由模板。

意图:隔离行为不可预测的合作伙伴流量。

模式:先使用 warn。

已知指纹预算

目标:特定的高开销查询指纹。

意图:在开发代码或架构修复期间,限制已知的异常查询。

模式:除紧急情况外,先使用 warn。

“每个标签值”策略

当 PlanetScale 支持针对所选标签的每个唯一值分别应用预算时,建议用于以下取值范围有限的标签:

  • application
  • service
  • route(经过规范化时)
  • job
  • feature
  • source

不要将此策略用于取值无界的标签,例如用户 ID、请求 ID、原始租户 ID、电子邮件地址、UUID 或原始 URL。

需说明的限制和注意事项

每项建议都必须说明:

  • 流量控制限制资源使用;它不能替代查询调优。
  • 它不是 Web 应用防火墙。
  • 它不能替代应用级速率限制。
  • 限制是防护措施,并不能保证在每种故障模式下都精确生效。
  • 错误的标签会导致错误的规则。
  • 强制模式可能会拒绝查询,并影响应用行为。

输出格式

对于每项拟议的预算:

  • 预算名称。
  • 目标分支。
  • 模式:off、warn 或 enforce。
  • 匹配的流量范围。
  • 规则类型:tag、fingerprint、keyspace、query kind。
  • 拟议的标签或指纹。
  • 限制原因。
  • Insights 中支持该建议的已观察查询。
  • 安全风险。
  • 测试/观察计划。
  • 回滚计划。
  • 审批要求。

最后以以下内容结束:

“尚未创建、更新、删除或强制执行任何流量控制预算或规则。”

评论

支持 Markdown