自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

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

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

這個就是一個典型的對http請求進行全局限流的流程圖。

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

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

[[236564]]

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

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

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

就做到配置的快速讀取。

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

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

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

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

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

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

總結(jié):

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

責(zé)任編輯:武曉燕 來源: 博客園
相關(guān)推薦

2023-07-11 10:24:00

分布式限流算法

2015-07-21 16:23:22

Node.js構(gòu)建分布式

2023-10-08 10:49:16

搜索系統(tǒng)分布式系統(tǒng)

2018-05-08 08:57:36

分布式存儲集群

2019-06-19 15:40:06

分布式鎖RedisJava

2010-06-03 14:42:47

Hadoop分布式集群

2018-06-11 11:12:09

秒殺限流分布式

2018-06-19 09:35:51

分布式系統(tǒng)限流

2019-09-05 09:02:45

消息系統(tǒng)緩存高可用

2022-04-07 17:13:09

緩存算法服務(wù)端

2020-07-03 13:29:08

Redis集群哈希槽

2024-04-08 11:04:03

2023-08-21 19:10:34

Redis分布式

2023-05-12 08:23:03

分布式系統(tǒng)網(wǎng)絡(luò)

2014-05-08 14:38:26

tornadoredissession

2023-04-06 08:52:54

Sentinel分布式系統(tǒng)

2012-02-23 09:59:05

Hadoop分布式應(yīng)用

2022-04-14 10:24:27

分布式系統(tǒng)性能

2015-05-26 11:18:06

分布式系統(tǒng)可擴展性

2023-02-11 00:04:17

分布式系統(tǒng)安全
點贊
收藏

51CTO技術(shù)棧公眾號