0

我有服务,我需要根据用户和组织来限制 API。

示例:用户 A 和用户 B 属于同一个 OrgA。任何用户每天可以访问 API 5 次,组织每天可以访问 API 8 次。

服务

apiVersion: v1
kind: Service
metadata:
  name: kong-my-app
  annotations:
    kubernetes.io/ingress.class: kong
    konghq.com/plugins: rate-limiting-myapp-1, rate-limiting-myapp
  labels:
    run: kong-my-app
spec:
  type: NodePort
  ports:
  - nodePort: 31687
    port: 8200
    protocol: TCP
  selector:
    run: kong-my-app
apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
name: rate-limiting-myapp-1
config:
hour: 8
limit_by: header
header_name: ‘x-org-id’
policy: local
plugin: rate-limiting
apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
name: rate-limiting-myapp
config:
hour: 5
limit_by: header
header_name: ‘x-user-id’
policy: local
plugin: rate-limiting

服务正在选择注释中提供的最后一个插件。是否可以应用两个变体的相同插件?在上面的例子中,它只选择了 rate-limiting-myapp ,它是插件列表中的最后一个。如果我们还有其他方法可以做,请帮助我。

它是 kong 速率限制插件的限制吗?我们是否需要高级速率限制器(企业)来完成这项工作?

4

0 回答 0