이 기사는 주로 Java 프로그래밍 Guava Ratelimiter의 관련 내용을 다음과 같이 연구합니다.
토큰 버킷 알고리즘
시나리오 1 트래픽 감독의 응용 프로그램
CAR (ConsenSed Access Rate)은 교통 감독에 일반적으로 사용되는 기술 중 하나입니다. 포트 입구 및 종료 방향으로 적용 할 수 있으며 일반적으로 입구 방향으로 적용됩니다. 감독 원칙은 그림 1에 나와 있습니다.
에이. 특정 속도로 토큰 버킷에 토큰을 넣으십시오.
비. 사전 설정 일치 규칙에 따라 먼저 패킷을 분류하십시오. 일치하는 규칙을 충족하지 않는 메시지는 토큰 버킷에서 처리 할 필요가 없으며 직접 전송됩니다.
기음. 일치하는 규칙을 충족하는 패킷의 경우 토큰 버킷을 처리해야합니다. 버킷에 충분한 토큰이있을 때 메시지를 계속 전송할 수 있으며, 메시지의 길이에 따라 토큰 버킷의 토큰 수가 줄어 듭니다.
디. 토큰 버킷에 토큰이 충분하지 않으면 메시지가 전송되지 않습니다. 메시지는 버킷에서 새 토큰이 생성 될 때까지만 보낼 수 있습니다. 이는 패킷의 트래픽이 토큰 생성 속도보다 작거나 동일하게 제한하여 트래픽을 제한하는 목적을 달성 할 수 있습니다.
두 번째 시나리오 : 유량 제어, 애플리케이션 필드의 과부하 보호에 사용됩니다.
사용의 예 :
공개 클래스 RatelimiterTest {public static void main (String [] args) {Final Ratelimiter Ratelimiter = Ratelimiter.create (2.0); for (int i = 0; i <100; i ++) {ratelimiter.acquire (); // 초당 두 번 인쇄 system.out.println (i); }}}요약
위의 것은 Java 프로그래밍 Guava Ratelimiter 인스턴스의 분석에 대한이 기사의 모든 내용입니다. 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구는이 사이트의 다른 관련 주제를 계속 참조 할 수 있습니다. 단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!