成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

聊聊常見的限流算法有哪些?

開發(fā) 前端
每個客戶端請求進來的時候,必須要從令牌桶獲得一個令牌才能訪問,否則排隊等待。在流量低峰的時候,令牌桶會出現堆積,因此當出現瞬時高峰的時候,有足夠多的令牌可以獲取,因此令牌桶能夠允許瞬時流量的處理。

前言

今天來分享一道比較好的面試題,“常見的限流算法有哪些?”對于這個問題,我們一起看看考察點和比較好的回答吧!

考察點

限流算法是一種用于限制流量請求的頻率或速率的算法,其目的是在高并發(fā)或大流量請求的情況下,保護系統服務的安全性和可用性。限流算法可以應對熱點業(yè)務帶來的突發(fā)請求、調用方bug導致的突發(fā)請求以及惡意攻擊請求等情況。這個問題就是面試官想考察我們是不是平日里善于積累,仔細思考這方面的知識!

回答  

首先,限流算法是一種系統保護策略,主要是避免在流量高峰導致系統被壓垮,造成系統不可用的問題。常考的算法有以下幾種。

1. (如圖)計數器限流,一般用在單一維度的訪問頻率限制上,比如短信驗證碼每隔60s 只能發(fā)送一次,或者接口調用次數等。它的實現方法很簡單,每調用一次就加 1,處理結束以后減一。

 計數器限流算法的實現原理是在一個時間窗口內,每調用一次就增加計數器,當時間窗口到達設定的時間后,計數器歸零。如果在時間窗口內再次調用,則計數器再次增加。這種算法的優(yōu)點是實現簡單,但是存在臨界問題。如果在一個時間窗口內的最后一次調用正好在時間窗口結束的瞬間,那么這個請求會被拒絕,因為計數器已經歸零。為了解決這個問題,可以采用滑動窗口限流算法。該算法將時間窗口劃分為多個小的時間段,每個時間段都有一個獨立的計數器。當一個時間段結束時,該時間段的計數器歸零,而其他時間段的計數器保持不變。這樣就可以避免在時間窗口結束的瞬間出現請求被拒絕的情況。

圖片圖片

2. (如圖)滑動窗口限流,本質上也是一種計數器,只是通過以時間為維度的可滑動窗口設計,來減少了臨界值帶來的并發(fā)超過閾值的問題。每次進行數據統計的時候,只需要統計這個窗口內每個時間刻度的訪問量就可以了。Spring Cloud里面的熔斷框架Hystrix ,以及Spring Cloud Alibaba里面的Sentinel都采用了滑動窗口來做數據統計。

圖片圖片

3. (如圖)漏桶算法,它是一種恒定速率的限流算法,不管請求量是多少,服務端的處理效率是恒定的。基于 MQ 來實現的生產者消費者模型,其實算是一種漏桶限流算法。

圖片圖片

4. (如圖)令牌桶算法,相對漏桶算法來說,它可以處理突發(fā)流量的問題。它的核心思想是,令牌桶以恒定速率去生成令牌保存到令牌桶里面,桶的大小是固定的,令牌桶滿了以后就不再生成令牌。每個客戶端請求進來的時候,必須要從令牌桶獲得一個令牌才能訪問,否則排隊等待。在流量低峰的時候,令牌桶會出現堆積,因此當出現瞬時高峰的時候,有足夠多的令牌可以獲取,因此令牌桶能夠允許瞬時流量的處理。網關層面的限流、或者接口調用的限流,都可以使用令牌桶算法,像 Google 的 Guava,和 Redisson 的限流,都用到了令牌桶算法在我看來,限流的本質是實現系統保護,最終選擇什么樣的算法,一方面取決于統計的精準度,另一方面考慮限流維度和場景的需求。

以上就是我對于這個問題的理解。

責任編輯:武曉燕 來源: 程序員的故事
相關推薦

2024-06-05 10:07:00

限流微服務算法

2024-04-19 00:00:00

計數器算法限流算法

2023-02-20 08:08:48

限流算法計數器算法令牌桶算法

2024-12-09 07:10:00

限流系統

2021-09-30 07:57:13

排序算法面試

2022-06-27 14:53:18

監(jiān)督學習機器學習人工智能

2022-02-09 15:36:49

Redis主從模式哨兵模式

2024-02-26 14:07:18

2022-05-09 07:35:48

動態(tài)集群限流

2023-02-03 16:16:34

物聯網

2022-03-09 09:39:22

Python函數模塊

2020-12-14 09:46:57

DDoS攻擊網絡攻擊網絡安全

2022-08-03 13:47:58

漏洞物聯網

2010-07-20 11:26:08

SQL Server阻

2024-01-23 16:54:38

2025-01-21 08:00:00

限流微服務算法

2021-09-08 08:55:45

Javascript 高階函數前端

2021-05-28 08:52:45

Hive分析函數

2021-08-13 11:27:25

網絡通信數據

2023-12-25 08:25:42

AndroidHook應用程序
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美成年人 | 激情五月综合 | 网色 | 亚洲激情综合 | 亚洲一区二区三区观看 | 国产精品亚洲成在人线 | 噜啊噜在线 | 国产亚洲成av人在线观看导航 | 欧洲成人免费视频 | 好好的日在线视频 | 午夜影院在线观看版 | 亚洲国产精品久久久久秋霞不卡 | 日韩久久精品电影 | 日韩精品一区二区三区高清免费 | 久久久天堂 | 三级黄片毛片 | 一区二区在线不卡 | 午夜av成人| 欧美一级在线观看 | 亚洲成av | 国产成人综合av | av毛片 | 久久小视频 | 亚洲欧美视频 | jlzzjlzz欧美大全 | 日韩字幕 | 国产精品一区二 | 中文字幕精品一区二区三区精品 | 亚洲国产精品99久久久久久久久 | 成人黄页在线观看 | 精品一区二区三区电影 | 亚洲欧美日韩电影 | 精品视频免费 | 欧美日韩综合精品 | 粉嫩粉嫩芽的虎白女18在线视频 | 国产精品色av | 一区精品视频 | 日韩毛片 | 日本在线免费观看 | 欧美专区在线 | 精品国产一区二区三区久久狼黑人 |