2011-01-27 2 views
1

저는 이미 저지 프레임 워크에서 웹 서비스 API를 구축했습니다. 이제 모든 클라이언트의 할당량을 제한하려고합니다. 예 : - 한 클라이언트는 하루에 10000 개 미만의 요청 만 처리 할 수 ​​있습니다. - 하나의 클라이언트는 초당 10 개 미만의 요청을 처리 할 수 ​​있습니다. 등등.모든 클라이언트에 대해 저지의 할당량을 제한하는 방법

데이터베이스의 테이블에이 정보를 저장해야합니까? 하지만 그렇게하면 테이블을 업데이트해야하기 때문에 이러한 요청을 처리하는 데 많은 시간이 걸릴 것입니다.

나는이 문제를 해결하는 다른 효율적인 방법을 기대하고있다. 이런 일을하는 것이 이번이 처음이기 때문에 누군가가 나에게 이러한 문제에 대해 조언 해 줄 수 있기를 바랍니다. 감사합니다 ~!

+0

클라이언트는 어떻게 정의합니까? IP 주소 또는 이름으로? – Fortyrunner

답변

2

클라이언트 정의 방법에 대한 정보가 없으므로이 질문에 대답하기가 어렵습니다. 그러나 한 가지 방법은 ContainerRequestFilter

을 사용하여 들어오는 모든 요청을 필터링하는 것입니다. 그런 다음 해당 레벨에서 클라이언트의 정의를 정의하고 해당 클라이언트의 모든 액세스를 저지 응용 프로그램에 기록 할 수 있습니다. 아마도 DataStructure의 값이나 데이터베이스의 값을 증가시켜야합니다. 그런 다음 cron 작업을 수행하면 24 시간마다 데이터가 플러시됩니다.

데이터가 일시적이므로 크기가 커지지 않고 짧은 시간 내에 삭제되므로 메모리 내부 데이터 구조에 저장하는 것이 가장 이상적입니다. 그러나 여러 대의 컴퓨터 또는 단일 컴퓨터의 여러 인스턴스로 확장하는 경우 문제가 될 수 있습니다.

더 이상의 정보가 없으면 더 이상 정보를 제공 할 수 없습니다.

관련 문제