我正在构建一个向SOAP API发出请求的Java应用程序。 API暴露的某些方法受到限制,这些方法具有不同的限制速率,范围从5 p/m到100 p/m。限制所有请求至5 p/m是不可接受的,因为某些方法(即具有较高节流限制的方法)必须更频繁地访问。Java - 限制SOAP API调用
如何在我的项目中实施节流控制,允许我为不同的方法指定不同的节流限制?
干杯,
皮特
我正在构建一个向SOAP API发出请求的Java应用程序。 API暴露的某些方法受到限制,这些方法具有不同的限制速率,范围从5 p/m到100 p/m。限制所有请求至5 p/m是不可接受的,因为某些方法(即具有较高节流限制的方法)必须更频繁地访问。Java - 限制SOAP API调用
如何在我的项目中实施节流控制,允许我为不同的方法指定不同的节流限制?
干杯,
皮特
皮特 -
几个问题:
一种通用的方法是跟踪用户,调用的方法和允许调用的速率,并返回一个布尔值,指示用户是否超出了限制。您希望此方法相当轻量,以便计算不会影响系统其余部分的性能,因为每个API调用都需要此检查。
限制是在有限/无限制的基础上完成的,所有未支付帐户的限制方式都是相同的,所有付费帐户都有无限制访问权限。我正在寻找使应用程序暂停,直到它允许进行限制请求,如果它试图做出一个,但已经使用了它的时间。 – Peter 2011-03-03 22:14:54
这是在一个单一的线程?或者它可以并行地向远程方法发出多个请求? – ThomasRS 2011-03-04 00:41:39
这是一个单线程。 – Peter 2011-03-04 10:41:07