av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

如何利用redis來進(jìn)行分布式集群系統(tǒng)的限流設(shè)計(jì)

如何利用Redis來進(jìn)行分布式集群系統(tǒng)的限流設(shè)計(jì)

作者:張永清 2018-07-16 08:29:54

存儲(chǔ)

存儲(chǔ)軟件

Redis

分布式 在很多高并發(fā)請求的情況下,我們經(jīng)常需要對系統(tǒng)進(jìn)行限流,而且需要對應(yīng)用集群進(jìn)行全局的限流,那么我們?nèi)绾晤悓?shí)現(xiàn)呢。

在很多高并發(fā)請求的情況下,我們經(jīng)常需要對系統(tǒng)進(jìn)行限流,而且需要對應(yīng)用集群進(jìn)行全局的限流,那么我們?nèi)绾晤悓?shí)現(xiàn)呢。

我們可以利用redis的緩存來進(jìn)行實(shí)現(xiàn),并且結(jié)合mysql數(shù)據(jù)庫一起,先來看一個(gè)流程圖。

這個(gè)就是一個(gè)典型的對http請求進(jìn)行全局限流的流程圖。

入口通過請求攔截器進(jìn)行攔截(filter)。

來看代碼片段,這個(gè)代碼片段就是一個(gè)標(biāo)準(zhǔn)的filter(我們這里基于springboot來定義filter)

我們需要做全局限流時(shí),就需要用到redis了。在redis中,可以將限流配置定義為:

redis key:接口名稱(或者url)_limit

 value:map,key:appid(業(yè)務(wù)id),value:限流大小

就做到配置的快速讀取。

限流的配置定義完后,那么就需要定義限流的計(jì)數(shù)了??梢远x為:

redis key:接口名稱(或者url)_count

 value:map,key:appid(業(yè)務(wù)id),value:計(jì)數(shù)值

一個(gè)好的限流設(shè)計(jì),還需要能做到對限流配置的實(shí)時(shí)進(jìn)行更改和動(dòng)態(tài)的配置。那我們就來看如何實(shí)現(xiàn)呢?

下面就是一個(gè)限流配置的新增流程。我們可以將改新增配置定義成一個(gè)接口或者頁面上的一個(gè)功能。就能做到配置的實(shí)時(shí)增加。

***我們再來看下配置的修改和限流配置的刪除。

總結(jié):

我們充分利用redis的緩存配置以及做了限流時(shí),盡量不要影響到系統(tǒng)的整體性能。


文章標(biāo)題:如何利用redis來進(jìn)行分布式集群系統(tǒng)的限流設(shè)計(jì)
URL網(wǎng)址:http://uogjgqi.cn/article/cdecgjc.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們在微信上24小時(shí)期待你的聲音

解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流