将速率限制应用于托管在 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 cloud
上 multiple 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
我有一个 spring 引导应用程序,我想对某些 API 应用速率限制,这些 API 与第三方 API 集成,用于具有速率限制的付款。基本上是此外部 API 的公共池,因此对第 3 方 API 的 API 调用不会超过速率限制。
我已经经历了这个 link : https://medium.com/teamarimac/implementing-throttling-in-java-spring-boot-ec4723cfce9f.
在这个linkacquire()
方法中定义了我的实际需求。
但是我的申请 运行 在 AWS cloud
上 multiple 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