如何在缩放微服务中限制外出 http 调用的速率?



我有一个场景,其中我的微服务扩展到 3 个实例。每个服务都对第三方服务进行 http 调用。但是,第三方服务有速率限制,即每秒不能接受超过 1000 个请求。现在我有 3 个相同服务的实例正在运行,很难跟踪计数。有什么解决方案可以帮助我实现这一点吗?

在这种情况下,您可以使用断路器模式和 Hystrix 等工具。

我的回答是基于这样的假设:每个服务都是独立的,不会相互交互,并且可能会扩展或缩减

使用Redis 数据缓存服务,在那里引入一个变量。每个服务将能够引用该变量,并在进行 API 调用时进行更新,编写一些条件,以便在该特定秒内达到 1000 时不允许任何服务进行调用。

因此,他们每秒无法拨打超过 1000 次电话。

最新更新