2014-06-11 4 views
-1

시간당 API를 6 회 사용할 수있는 할당량을 만들었습니다. 이는 API 키 인증 유형 확인입니다.API 프록시에서 할당량 당 할당량 위반이 작동하지 않습니다.

URL은 http://damuorgn-test.apigee.net/weatherforecastforlongandlat?apikey=dJAXoH8y6GfVNJSjlDhpVIB4XCVyJZ1R

입니다 그러나 할당량 예외는 8 시간 이후 (실제로는 7 시간에 있어야합니다)가 발생합니다. 또한 할당량 제한을 변경하고 API 프록시를 다시 배포하려고 시도 할 때 처음으로 자체적으로 할당량 예외가 표시됩니다. 조언 해주세요.

저는 무료 클라우드 컴퓨팅 조직을 사용하고 있습니다.

할당량 1 거짓 거짓 시간 2014년 6월 11일 19시 0분 0초

+0

코드로 할당량 정책을 초과 할 수 있습니까? 여기에 제대로 표시되지 않으므로 진행 상황을 밝히기가 어렵습니다. –

+0

<할당량 비동기 = "FALSE"continueOnError = "FALSE"활성화 = "true"로 이름 = "쿼터 1"TYPE = "캘린더"> 할당량 1 <카운트 = "6 허용 "countRef ="request.header.allowed_quota "/> <간격 REF ="request.header.quota_count "> 1 거짓 거짓 user3636769

+0

시간 2014-6-11 19:00:00 SyncMessageCount> 0 user3636769

답변

0

좋아 두가지 ...

1) 귀하의 할당량이 <으로 설정됩니다. > 거짓 </배포 >.
기본적으로 Apigee 인스턴스는 두 개의 별도 메시지 프로세서 (무거운 작업을 수행하는 서버)에서 실행됩니다. 즉, 각 MP가 계산되며 할당량 6 인 경우 6 * 2 서버 = 12가됩니다.

2) 두 번째 예에서는 할당량이 분산되어 있지만 비동기입니다. > 및 < 동기 >을 false로 설정하지 않은 경우 Apigee는 중앙 데이터 서버에 체크인하여 할당량 계산을 공유합니다. 여기에는 약간의 시간차가 있지만, 20 초마다 또는 5 개의 메시지마다 중앙 서버에 체크인하도록 AsynchronousConfiguration을 설정 했으므로 다른 서버에 체크인하기 전에 각 MP 프로세서에서 최대 5를 계산할 수 있습니다.

Distributed를 true로 설정하고 Asynchronous를 false로 설정해도 서버가 서로 이야기하면서 약간의 지연이 발생하기 때문에 Apigee와 같은 분산 처리 모델에서는 절대로 정확한 숫자를 얻을 수 없습니다.

또한, 당신은 request.header.quota_count 및 기타 request.header 변수를 제거 할 수 있습니다 -

quota_count: 100000 

Apigee가 사용됩니다 내가

같은 헤더와 같은 번호 (말 100000)를 통과하는 경우 100000이 아니라 1 (참조 변수를 사용하고 참조가 NULL 인 경우에만 기본값으로 롤백).

그리고 ... < Idmetifier ref = "client_ip"> 또는 기타 항목을 추가하려는 경우 할당량이 모든 사용자에게 글로벌로 적용됩니다. 모든 흐름에서 사용할 수있는 변수는 Apigee 변수 참조 (http://apigee.com/docs/api-services/api/variables-reference)를 참조하십시오.