需求反馈
【需求涉及的问题场景】
线上可能出现一些对集群整体性能或可用性造成重大影响的 SQL,在定位并处理这些 SQL 之前,希望在 DB 层及时拦截改写 SQL,减少线上正常业务的影响,可能遇到的场景包括但不限于:
-
SQL 注入攻击
-
SQL 触发产品 bug,导致 Server panic 或 OOM
-
应用程序 bug,比如业务上线后,某个接口被频繁调用,导致集群负载过高影响整体性能,但业务人员无法及时定位并修复问题
-
SQL 未经充分审核调优就上线,出现报错或性能问题,比如写错字段名或者 DDL 更改字段名后业务没改,varchar 字段值没有加引号或没有加索引
【期望的需求行为】
- 开启查询重写功能后,Server 端首先检查 SQL 是否匹配重写规则,如果能匹配重写之后再执行
参考 MySQL Query Rewrite Plugin
【需求可替代方案】
- 外部 Proxy 设计 SQL 熔断拦截或业务降级
【背景信息】