每次 Rest api 调用之间的延迟

Delay between every Rest api call

我们有一项工作是根据我们从数据库中获取的少数 1000 条数据来打击内部 api。

目前我们正在迭代外部 api 并调用内部 api。这是导致 api 端出现尖峰的结果。他们建议保持几毫秒的延迟以避免这种激增,这样 api 端的生产者就不会出现峰值。

最初的想法是,睡眠可以用来实现它,这是非常低的级别api。但是,我正在探索 apis(在 spring-boot 或 java 或其他地方可用)它有更优雅的方式来考虑这个用例。

一个简单而常见的做法是使用一些客户端限速库来限制客户端调用API的速率。大多数容错库都会提供这样的功能。resilience4j 是流行的,它还为 spring-boot 提供启动器。

基本上它允许您定义客户端在给定时间段内可以进行的 API 调用的次数,以及客户端将等待多长时间(即超时)直到允许调用 API.