成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

API開發(fā)中如何使用限速應對大規(guī)模訪問?

網(wǎng)友解答: API作為應用程序編程接口提供給調用方使用,在設計時不光光要考慮到安全性,還要考慮其穩(wěn)定性。而對于API而言,提供給調用方使用時一定要對調用次數(shù)做限制,防止API并發(fā)過高導致

網(wǎng)友解答:

API作為應用程序編程接口提供給調用方使用,在設計時不光光要考慮到安全性,還要考慮其穩(wěn)定性。而對于API而言,提供給調用方使用時一定要對調用次數(shù)做限制,防止API并發(fā)過高導致服務不可用。舉個例子,像微博每次碰到某明星爆料一個熱點,微博就會癱瘓一次,典型的過載導致的。

限流需要考慮的問題

1、閾值設定為多大

閾值過小會影響用戶的正常訪問,所以需要視具體情定確定閾值大小。

2、單位時間范圍持續(xù)多久

可以按天、小時、分鐘等時間段計時。

3、何時重置閾值,重新計數(shù)

達到閾值后,該用戶發(fā)出的請求不再處理,但需要在一段時間后恢復訪問,重新計數(shù),避免服務一直不可用。

限流處理模式

1、延遲處理(隊列機制)

我們在系統(tǒng)前端設置一個緩沖池,所有的請求全部進入這個緩沖池,但不立即處理請求。由后端程序依次從緩沖池里取出請求進行處理,這樣就減小了后端的處理壓力。

2、服務降級

將整個系統(tǒng)各個功能模塊設置一個等級,當核心API負載過大時,將一些等級不高的服務進行降級處理(停止服務),這樣就相當于把資源節(jié)省給核心API使用了,保證核心業(yè)務的正常運行。像一般電商平臺推出活動時,都會有服務降級機制。

3、熔斷

當API出現(xiàn)問題時,若短時間內無法修復及恢復服務,那就需要開啟熔斷開關,拒絕后續(xù)的流量請求,避免一個API的故障導致連鎖反應。

限流方案

1、借助Nginx實現(xiàn)限流

通過Nginx limit_req 模塊可以方便的基于特定IP、請求來做限流。

2、基于Redis實現(xiàn)限流(推薦)

比如根據(jù)用戶IP創(chuàng)建一個Key,每次請求時就將此鍵值加1,當特定時間段內達到閾值后禁用服務訪問,等Key過期后又重新計數(shù)。


從限流實現(xiàn)成本上說,Redis方案最易控制和實現(xiàn),大家可以試下。

以上就是我的觀點,對于這個問題大家是怎么看待的呢?歡迎在下方評論區(qū)交流 ~ 我是科技領域創(chuàng)作者,十年互聯(lián)網(wǎng)從業(yè)經(jīng)驗,歡迎關注我了解更多科技知識!

標簽: