數(shù)十年專注企業(yè)數(shù)字化轉(zhuǎn)型、智能化升級(jí)、企業(yè)上云解決方案服務(wù)商
工單提交 實(shí)名認(rèn)證 騰佑科技咨詢熱線咨詢熱線: 400-996-8756
百度云服務(wù)中心騰佑科技公司
云服務(wù)器活動(dòng) 服務(wù)器租用 服務(wù)器托管 機(jī)柜租賃 帶寬租賃
  • 最新資訊
  • 熱門(mén)資訊
  • 最熱資訊
智能建站

網(wǎng)絡(luò)服務(wù)器方案設(shè)計(jì)之運(yùn)用過(guò)流保護(hù)

發(fā)布時(shí)間:2022-07-15 作者:admin

簡(jiǎn)述:在一個(gè)高并發(fā)系統(tǒng)中對(duì)流量的把控是非常重要的,當(dāng)巨大的流量直接請(qǐng)求到我們的服務(wù)器上沒(méi)多久就可能造成接口不可用,不處理的話甚至?xí)斐烧麄€(gè)應(yīng)用不可用。比如最近就有個(gè)這樣的需求,我作為客戶端要向kafka生產(chǎn)數(shù)據(jù),而kafka的消費(fèi)者則再源源不斷的

在一個(gè)分布式系統(tǒng)系統(tǒng)軟件中對(duì)總流量的把控是非常重要的,當(dāng)極大的數(shù)據(jù)流量立即要求到他們的服務(wù)器上不久就有可能導(dǎo)致插口不能用,不解決得話乃至?xí)?dǎo)致全部運(yùn)用不能用。

例如近期就會(huì)有個(gè)這種要求,我做為手機(jī)客戶端要向kafka生產(chǎn)數(shù)據(jù),而kafka的顧客則再源源不斷的消費(fèi)數(shù)據(jù),并把交易的信息所有要求到web服務(wù)器,雖然進(jìn)行了負(fù)荷(有4臺(tái)web服務(wù)器)但業(yè)務(wù)數(shù)據(jù)的量都是很大的,每秒鐘很有可能有幾千條數(shù)據(jù)信息造成。假如經(jīng)營(yíng)者立即生產(chǎn)數(shù)據(jù)得話很有可能把web服務(wù)器壓垮。

對(duì)于此事就一定要做過(guò)流保護(hù)解決,每秒鐘生產(chǎn)制造一定額度的信息到kafka,那樣就可巨大層度的確保web的正常運(yùn)轉(zhuǎn)。

實(shí)際上無(wú)論解決哪種情景,實(shí)質(zhì)全是減少總流量確保使用的高可用性。

普遍優(yōu)化算法

針對(duì)過(guò)流保護(hù)普遍有二種優(yōu)化算法:

漏桶優(yōu)化算法

令牌桶優(yōu)化算法

漏桶優(yōu)化算法非常簡(jiǎn)單,便是將總流量放進(jìn)桶中,漏桶從而依照一定的速度排出,假如總流量太快得話便會(huì)外溢(漏桶并不會(huì)提升排出速度)。外溢的總流量則立即丟掉。

如圖所示:

這類作法簡(jiǎn)單直接。

漏桶優(yōu)化算法雖然簡(jiǎn)易,但卻不能解決現(xiàn)實(shí)情景,例如忽然猛增的總流量。

這時(shí)候就要使用令牌桶優(yōu)化算法:

令牌桶會(huì)以一個(gè)穩(wěn)定的速度向固定不動(dòng)容積尺寸桶中放進(jìn)動(dòng)態(tài)口令,當(dāng)有總流量來(lái)的時(shí)候則拿走一個(gè)或好幾個(gè)動(dòng)態(tài)口令。當(dāng)桶中并沒(méi)有動(dòng)態(tài)口令則將現(xiàn)階段要求拋棄或堵塞。

比較之下令牌桶能夠解決一定的應(yīng)急總流量.

RateLimiter完成

針對(duì)令牌桶的代碼實(shí)現(xiàn),能直接應(yīng)用Guava包里的RateLimiter。

啟用結(jié)論如下所示:

編碼看得出以每秒鐘向桶中放進(jìn)2個(gè)動(dòng)態(tài)口令,要求一次耗費(fèi)一個(gè)動(dòng)態(tài)口令。因此每秒鐘只有推送2個(gè)要求。根據(jù)圖上的時(shí)間段看來(lái)也的確這般(傳參是獲得此動(dòng)態(tài)口令所耗費(fèi)的的時(shí)間,類似都是每500ms一個(gè))。

應(yīng)用幾個(gè)特別注意的地區(qū):

容許先交易,后付款,意思就是它可以來(lái)一個(gè)要求的情況下一次性拿走好多個(gè)或者剩余每一個(gè)動(dòng)態(tài)口令乃至多取,可是后來(lái)的要求就得為上一次請(qǐng)求付錢(qián),它必須等候桶里的動(dòng)態(tài)口令補(bǔ)足以后能夠再次獲得動(dòng)態(tài)口令。

匯總

適用于單獨(dú)使用的過(guò)流保護(hù)夠用了,假如是分布式系統(tǒng)自然環(huán)境能夠依靠Redis來(lái)進(jìn)行。

點(diǎn)擊展開(kāi)全文

騰佑科技(mubashirfilms.com)成立于2009年,總部位于河南鄭州,是一家集互聯(lián)網(wǎng)基礎(chǔ)設(shè)施及軟硬件于一體化的高新技術(shù)企業(yè),具有IDC/ISP/ICP/云牌照、雙軟等資質(zhì),并擁有多個(gè)國(guó)家版權(quán)局認(rèn)證。公司自成立以來(lái),一直致力于發(fā)展互聯(lián)網(wǎng)IDC數(shù)據(jù)中心DataCenter、云計(jì)算Cloud、大數(shù)據(jù)BigDate、人工智能AI、內(nèi)容加速CDN、互聯(lián)網(wǎng)安全、軟件定制開(kāi)發(fā)等產(chǎn)品服務(wù)及行業(yè)客戶技術(shù)一體化智能解決方案;2018年成為百度智能云AI河南服務(wù)中心。

售前咨詢熱線:400-996-8756

備案提交:0371-89913068

售后客服:0371-89913000

熱門(mén)活動(dòng)

百度云服務(wù)中心
  • 熱門(mén)資訊
  • 隨便看看