我正在做一个 micronaut 项目。我正在使用 micronaut 声明式 http 客户端调用一些外部 Web 服务。
import io.micronaut.http.client.annotation.Client;
import io.reactivex.Single;
@Client("/external-client")
public interface MyClient {
@Post
Single<String> submit(String name, int age);
}
我正在做的是每当我从一个消息队列中收到一条消息时,我都会将该数据从队列发布到外部服务。所以在队列监听器中我订阅了这个客户端代码。
myClient.submit(name,age).subscribe{ success, error -> //... mylogic }
现在的问题是外部服务提供商在一分钟内限制了请求速率。现在我想限制一次触发的请求数。我在 rxjava 和 micronaut 应用程序开发方面非常陌生。什么是更好的设计来限制从我的应用程序触发的并行请求。是否有任何 RxJava 方法来限制请求?或者我想在 httpclient 配置中进行任何配置更改。请帮忙。