我正在使用 RestTemplate
和Spring启动调用一个外部服务,其中有速率限制,到位。例如,如果我们一次发送10个以上的请求,它将抛出一个错误,说明“请求太多”。
作为一个客户,我如何确保一次发送的请求不超过10个,同时也不会丢失任何传入的请求?
有人能帮我吗?
编辑:
我有一个想法,维护队列和发送请求一个接一个。但当服务器可以处理10个请求时,一次发送一个请求并不是最佳选择。因此,使用这种方法似乎不是最佳的。
我正在使用 RestTemplate
和Spring启动调用一个外部服务,其中有速率限制,到位。例如,如果我们一次发送10个以上的请求,它将抛出一个错误,说明“请求太多”。
作为一个客户,我如何确保一次发送的请求不超过10个,同时也不会丢失任何传入的请求?
有人能帮我吗?
编辑:
我有一个想法,维护队列和发送请求一个接一个。但当服务器可以处理10个请求时,一次发送一个请求并不是最佳选择。因此,使用这种方法似乎不是最佳的。
1条答案
按热度按时间3okqufwl1#
您可以使用javathreadpool创建10个线程,并使用您以前的队列思想来填充该池。然后您可以将每个线程作为对服务器的单个请求使用。我不知道你的项目的代码细节,所以,我不确定我可以提供给你任何代码片段抱歉。
p、 我只是想和大家分享一下我的想法,因为我没有足够的声誉,所以我不能在评论部分告诉你这一点。