Java-限制SOAP API调用

Java-限制SOAP API调用,java,web-services,implementation,throttling,Java,Web Services,Implementation,Throttling,我正在构建一个Java应用程序,它向SOAP API发出请求。API公开的某些方法是节流的,这些方法具有不同的节流速率,从5 p/m到100 p/m不等。将所有请求限制在5 p/m是不可接受的,因为必须更频繁地访问某些方法(即具有更高节流限制的方法) 如何在我的项目中实现节流控制,从而允许我为不同的方法指定不同的节流限制 干杯 皮特皮特- 有几个问题: 这种节流是在每个用户的基础上进行的吗 API调用是否包含唯一标识调用方的方法 当超过限制时,您在寻找什么行为 一种通用的方法是使用一个内部方

我正在构建一个Java应用程序,它向SOAP API发出请求。API公开的某些方法是节流的,这些方法具有不同的节流速率,从5 p/m到100 p/m不等。将所有请求限制在5 p/m是不可接受的,因为必须更频繁地访问某些方法(即具有更高节流限制的方法)

如何在我的项目中实现节流控制,从而允许我为不同的方法指定不同的节流限制

干杯

皮特

皮特-

有几个问题:

  • 这种节流是在每个用户的基础上进行的吗
  • API调用是否包含唯一标识调用方的方法
  • 当超过限制时,您在寻找什么行为

一种通用的方法是使用一个内部方法来跟踪用户、调用的方法以及允许调用的速率,并返回一个布尔值,指示用户是否已超出其限制。您希望此方法相当轻量级,以便计算不会影响系统其余部分的性能,因为每个API调用都需要此检查。

节流是在有限/无限的基础上进行的,所有非付费帐户都以相同的方式受到限制,所有付费帐户都具有无限的访问权限。我希望使应用程序挂起,直到它被允许发出限制请求,如果它试图发出限制请求,但目前已使用了它的余量。这是在单个线程上吗?或者它可以并行地向远程方法发出多个请求?