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

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

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

網(wǎng)友解答:

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

限流需要考慮的問題

1、閾值設(shè)定為多大

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

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

可以按天、小時(shí)、分鐘等時(shí)間段計(jì)時(shí)。

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

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

限流處理模式

1、延遲處理(隊(duì)列機(jī)制)

我們?cè)谙到y(tǒng)前端設(shè)置一個(gè)緩沖池,所有的請(qǐng)求全部進(jìn)入這個(gè)緩沖池,但不立即處理請(qǐng)求。由后端程序依次從緩沖池里取出請(qǐng)求進(jìn)行處理,這樣就減小了后端的處理壓力。

2、服務(wù)降級(jí)

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

3、熔斷

當(dāng)API出現(xiàn)問題時(shí),若短時(shí)間內(nèi)無法修復(fù)及恢復(fù)服務(wù),那就需要開啟熔斷開關(guān),拒絕后續(xù)的流量請(qǐng)求,避免一個(gè)API的故障導(dǎo)致連鎖反應(yīng)。

限流方案

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

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

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

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


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

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

標(biāo)簽: