令牌桶实现限流原理
思路分析
令牌桶算法
令牌桶算法是比較常見的限流算法之一,大概描述如下:
1)所有的請求在處理之前都需要拿到一個可用的令牌才會被處理;
2)根據限流大小,設置按照一定的速率往桶里添加令牌;
3)桶設置最大的放置令牌限制,當桶滿時、新添加的令牌就被丟棄或者拒絕;
4)請求達到后首先要獲取令牌桶中的令牌,拿著令牌才可以進行其他的業務邏輯,處理完業務邏輯之后,將令牌直接刪除;
5)令牌桶有最低限額,當桶中的令牌達到最低限額的時候,請求處理完之后將不會刪除令牌,以此保證足夠的限流
如下圖:
這個算法的實現,有很多技術,Guaua是其中之一,redis客戶端也有其實現。
?
總結
- 上一篇: 未付服务网关限流作用
- 下一篇: 微服务网关限流讲解