我正在与 kong 合作,然后想了解 kong 将如何知道为刚刚到达网关的请求执行哪个插件。
假设我们已经在服务实体上配置了速率限制插件,并且有一个与之关联的路由,当请求到达该路由时,kong 现在如何知道它必须执行速率限制插件。
它基于插件配置吗?如果是这样,kong 是否会从数据库中提取此详细信息
请解释插件执行的机制。
PS:我知道执行顺序,但不知道 kong 如何决定执行哪个插件。
我正在与 kong 合作,然后想了解 kong 将如何知道为刚刚到达网关的请求执行哪个插件。
假设我们已经在服务实体上配置了速率限制插件,并且有一个与之关联的路由,当请求到达该路由时,kong 现在如何知道它必须执行速率限制插件。
它基于插件配置吗?如果是这样,kong 是否会从数据库中提取此详细信息
请解释插件执行的机制。
PS:我知道执行顺序,但不知道 kong 如何决定执行哪个插件。
不知道你在找什么。
当然这是基于插件配置的。插件的配置存储为您的 kong 配置,您可以将其配置为内存或数据库中,请参阅数据存储部分了解更多详细信息
如果您有多个插件时有疑问,插件具有硬编码优先级以了解执行顺序,请参阅插件顺序
如果您质疑将执行哪些插件,可以为各种实体、实体组合甚至全局配置插件。
插件将始终运行一次,并且每个请求仅运行一次。但是它将运行的配置取决于它所配置的实体。插件在配置的实体数量方面越具体,其优先级越高,您可以获得有关优先级的更多详细信息
示例:如果限速插件被应用了两次(使用不同的配置):对于服务(插件配置 A)和消费者(插件配置 B),那么验证此消费者的请求将运行插件配置 B 并忽略 A。但是,未对此使用者进行身份验证的请求将回退到运行插件配置 A。请注意,如果配置 B 被禁用(其启用标志设置为 false),则配置 A 将应用于本来与配置 B 匹配的请求。
永久链接