我有在分布式VM上运行的spring boot服务,但是我想将该服务移至Kubernetes。以前我们已经为这4个VM上的请求限制器配置了spring cloud网关,但是现在有了Kubernetes,我的应用程序将可以自动扩展。
在那种情况下,鉴于Kubernetes可以根据流量增加或减少Pod,我该如何限制请求?如何保持传入流量的状态,但仍使我的服务保持无状态?
答案 0 :(得分:4)
从本质上讲,您可以通过在应用程序前面添加代理来进行速率限制。 (nginx,haproxy等)。更具体地说,您可以使用Kubernetes Ingress。更具体地说,您可以使用nginx ingress controller,并且可以在ConfigMap中使用limit rate之类的东西,也可以通过入口中的注释使用rate limiting之类的东西。
答案 1 :(得分:1)
您可以研究istio service mesh's rate limiting feature,该概念具有以下概念,可以限制k8s中的流量速率: