卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

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

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

限流需要考慮的問(wèn)題

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

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

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

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

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

達(dá)到閾值后,該用戶發(fā)出的請(qǐng)求不再處理,但需要在一段時(shí)間后恢復(fù)訪問(wèn),重新計(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ù)載過(guò)大時(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)問(wèn)題時(shí),若短時(shí)間內(nèi)無(wú)法修復(fù)及恢復(fù)服務(wù),那就需要開(kāi)啟熔斷開(kāi)關(guān),拒絕后續(xù)的流量請(qǐng)求,避免一個(gè)API的故障導(dǎo)致連鎖反應(yīng)。

限流方案

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

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

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

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


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

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

標(biāo)簽: