我与孔一起工作,然后想知道孔如何知道对于刚刚到达网关的请求应该执行哪个插件。
假设我们已经在一个服务实体上配置了速率限制插件,并且有一个与之关联的路由,那么当请求出现在该路由上时,kong现在如何知道它必须执行速率限制插件。
它是基于插件配置的吗?如果是这样,孔令辉会从数据库中提取此详细信息吗
请解释一下插件的执行机制。
PS:我知道执行顺序,但不知道孔是如何决定执行哪个插件的。
发布于 2021-05-09 23:11:12
不确定是否了解您正在寻找的内容。
当然,这是基于插件配置的。插件的配置被存储为您的kong配置,您可以将其配置为在内存或数据库中,更多详细信息请参阅datastore section
当您有多个插件时,如果您有疑问,这些插件具有硬编码的优先级以了解执行顺序,请参见plugins order
如果您质疑将执行哪些插件,则可以为各种实体、实体组合甚至全局配置插件。
一个插件将始终运行一次,并且每个请求只运行一次。但它运行时所使用的配置取决于为其配置的实体。插件在多少实体上配置的信息越具体,其优先级就越高,您可以获得更多关于precedence的详细信息
示例:如果速率限制插件应用了两次(使用不同的配置):服务(插件配置A)和消费者(插件配置B),则验证此消费者的请求将运行插件配置B并忽略A。但是,未对此消费者进行身份验证的请求将回退到运行插件配置A。请注意,如果禁用配置B(其启用标志设置为false),则配置A将应用于原本与配置B匹配的请求。
永久链接
https://stackoverflow.com/questions/67353266
复制相似问题