2011-03-03 3 views
0

SOAP API에 요청하는 Java 응용 프로그램을 빌드하고 있습니다. API가 노출하는 특정 메소드는 스로틀되며 이러한 메소드의 스로틀 링 속도는 5 p/m ~ 100 p/m입니다. 일부 방법 (예 : 높은 제한 제한이있는 규칙)에 더 자주 액세스해야하므로 모든 요청을 5 p/m로 제한하는 것은 허용되지 않습니다.Java - SOAP API 호출을 조절합니다.

다른 방법에 대해 다른 제한 제한을 지정할 수있는 조절 프로젝트를 어떻게 구현할 수 있습니까?

건배,

피트

+0

이것은 단일 스레드에있는 것입니까? 또는 병렬 방식으로 원격 메소드에 여러 요청을 할 수 있습니까? – ThomasRS

+0

그것은 하나의 스레드입니다. – Peter

답변

0

피트 -

몇 가지 질문 :

  • 이 제한은 사용자별로 수행되고 있습니까?
  • API 호출에 발신자를 고유하게 식별하는 방법이 포함되어 있습니까?
  • 한계를 초과했을 때 어떤 행동을 원하십니까?

일반적인 접근 방법 중 하나는 사용자를 추적하는 내부 메서드, 호출 된 메서드 및 호출 허용 속도를 지정하고 사용자가 제한을 초과했는지 여부를 나타내는 부울을 반환하는 것입니다. 이 방법은 상당히 가볍기 때문에 모든 API 호출에이 검사가 필요하기 때문에 계산이 나머지 시스템의 성능에 영향을 미치지 않도록해야합니다.

+0

스로틀 링은 제한없는/무제한 기준으로 수행되며, 여기에서 모든 미 지불 계정은 동일한 방식으로 제한되며 모든 유료 계정에는 무제한 액세스 권한이 있습니다. 하나를 만들려고 시도하지만 그 순간에 수당을 사용했다면 조절 된 요청을 할 수있을 때까지 응용 프로그램을 일시 중지 시키려고합니다. – Peter

관련 문제