将速率限制应用于托管在 AWS 云上的 spring 启动特定 api 和多个 pods 上的 运行

To apply rate limit to a spring boot particular api that is hosted on AWS cloud and running on multiple pods

我有一个 spring 引导应用程序,我想对某些 API 应用速率限制,这些 API 与第三方 API 集成,用于具有速率限制的付款。基本上是此外部 API 的公共池,因此对第 3 方 API 的 API 调用不会超过速率限制。

我已经经历了这个 link : https://medium.com/teamarimac/implementing-throttling-in-java-spring-boot-ec4723cfce9f.

在这个linkacquire()方法中定义了我的实际需求。

但是我的申请 运行 在 AWS cloudmultiple instances。 link 中提到的方法仅适用于单个实例,但我想要一个适用于所有 instances combined.

的解决方案

谢谢

以下是对您有用的不同解决方案。

您可以使用 netflix zuul 为此,在下面 link 的帮助下您将获得更多详细信息。

https://dzone.com/articles/adding-rate-limit-for-spring-cloud-netflix-zuul.

或者 根据您的上下文的另一种方法是使用 EC2 节流或 API 网关节流 https://dzone.com/articles/customized-rate-limiting-for-api-gateway-by-path-p https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html