跳到主要内容
版本:3.10.x

插件

插件是一种模块化组件,用于拦截并修改通过网关的请求和响应流。API7 网关内置 100 多个企业级插件,覆盖认证、流量控制、可观测性、安全和 AI 能力。

插件执行

插件会按照其 Priority 以特定顺序执行。Priority 数值更高的插件会先于数值更低的插件运行。这可以确保认证等基础功能先于流量控制或代理转发完成。

插件作用域

你可以在配置层级的不同级别应用插件:

  • 路由级别:应用于特定路由。仅影响匹配该路由的流量。
  • 服务级别:应用于某个服务。影响该服务内的所有路由。
  • 消费者级别:应用于特定消费者。影响识别为属于该消费者的所有流量。
  • 全局规则:应用于整个网关组。影响该网关组管理的所有路由。

插件类别

API7 网关会按主要功能对插件进行分类。下表列出了一些常用企业插件示例:

类别示例
认证key-auth, jwt-auth, basic-auth, hmac-auth, openid-connect, ldap-auth, multi-auth
流量控制limit-count, limit-req, limit-conn, limit-count-advanced, api-breaker, traffic-split
转换proxy-rewrite, response-rewrite, body-transformer, grpc-transcode
可观测性prometheus, opentelemetry, http-logger, kafka-logger, loki-logger, splunk-hec-logging
安全cors, ip-restriction, ua-restriction, consumer-restriction, csrf, data-mask, opa, chaitin-waf
AI 网关ai-proxy, ai-proxy-multi, ai-rate-limiting, ai-rag, ai-prompt-template, ai-prompt-guard
Serverlessaws-lambda, azure-functions, serverless-pre-function, serverless-post-function

插件元数据

部分插件需要在该插件类型的所有实例之间共享配置。这通过 插件元数据 管理。例如,你可以在 kafka-logger 元数据中定义共享的 Kafka broker 地址,随后该插件的所有实例都会使用该地址。

后续步骤