리키 버킷 알고리즘의 일반적인 제한 알고리즘, 토큰 버킷 알고리즘

대형 사이트에서 종종 피할 수없는 고도의 동시성, 그것은 제한 일정을 포함 할 것이다

제한

인터페이스의 범위를 견딜 수에 도달 할 때 각각의 API 서비스 시스템에있어서, 각 인터페이스에 대한 액세스가 소정의 상한을 갖고, 그것의 가용성 그레이드 서비스를 보장하기 위해 어떤 조치를 취할 필요가 있고, 시스템은 더 이상 방지하는 예상 압력을 마비시킨다. 각 서비스에 대한 인터페이스 또는 접근 제한, 액세스, 배수 및 기타 서비스 거부하고 라인에서 기다리고 그래서

 

일반 리키 버킷 알고리즘 제한 알고리즘과 토큰 패스 알고리즘

리키 버킷 알고리즘

도면에서 본 리키 버킷 (누설 버킷)는 라우팅 서비스 요구에 의해, 일정 속도로 물을 많이 (요청), 그리고 물을 견딜 수 있지만, 물이 너무 많으면, 각 인터페이스는 대응하는 레이트를 갖는, 전송 속도가 갑자기 급격한 증가를 요청, 다음 버킷은 그 때 다른 요청, 리키 버킷 알고리즘은 액세스 요청 및 데이터에 대한 제한을 부과 할 수를 거부합니다, 짧은 시간에 빠르게 채울 것

토큰 패스 알고리즘

내부 토큰의 토큰을 위해 요청에 물통 (요청)과 같은, 내부에 배치 일정한 토큰 버킷으로 토큰으로 등 (1000), 각각의 알고리즘을 일정 속도를 전달 토큰 토큰 인 경우는 완료, 또는 기타 서비스는 서비스 대기 거부하세요.

토큰 버킷의 크기 자체가 연속적으로 토큰을 생성 일정한 속도로 고정 될 수있다. 토큰이 소모되지 않았거나 속도가 느린 생산하기 위해 소비되는 경우, 토큰 버켓이 가득 찰 때까지 계속 증가 할 것입니다. 다시 욕조에서 오버플로 생성 된 토큰 다시. 마지막으로, 당신은 버킷 크기를 초과하지 버킷에 토큰의 최대 번호를 저장할 수 있습니다

 

반대로, 리키 버킷 알고리즘은 특정 제한 전송률을 부과하고, 토큰 비율을 통하여 선박의 속도를 제한 할 수 있고, 또한 어떤 비상 상황을 해결할 수있다.

 

게시 된 288 개 원래 기사 · 원의 찬양 (88) · 전망 430 000 +

추천

출처blog.csdn.net/ypp91zr/article/details/90319967