手把手带你领略双十一背后的核心技术Sentinel之热点参数限流
文章目錄
- 1、何為熱點(diǎn)
- 2、基本使用1
- 3、基本使用2
1、何為熱點(diǎn)
熱點(diǎn)就是經(jīng)常訪問的數(shù)據(jù),我們通常希望對(duì)某個(gè)訪問次數(shù)最高的熱點(diǎn)數(shù)據(jù)進(jìn)行限制。
比如說商品中的某個(gè)訪問量很高的商品。比如說商品中的某個(gè)訪問量很高的商品。比如說商品中的某個(gè)訪問量很高的商品。
Sentinel 利用 LRU 策略統(tǒng)計(jì)最近最常訪問的熱點(diǎn)參數(shù),結(jié)合令牌桶算法來進(jìn)行參數(shù)級(jí)別的流控。
2、基本使用1
@SentinelResource注解的作用是對(duì)熱點(diǎn)數(shù)據(jù)進(jìn)行限流,一般是某個(gè)參數(shù)的訪問量違背了控制臺(tái)設(shè)置的閾值,開始對(duì)其進(jìn)行限流。
@GetMapping("/hotkey")@SentinelResource(value = "hotkey", blockHandler = "default_hotKey")public String hotKey(@RequestParam(value = "param1",required = false)String param1, @RequestParam(value = "param2",required = false)String param2) {return "正常數(shù)據(jù)->hotKey!";}public String default_hotKey(String param1, String param2, BlockException exception) {return "默認(rèn)數(shù)據(jù)->default_hotKey!";}這段代碼定義了兩個(gè)參數(shù)param1和param2,但都是可傳可不傳(required=false),blockHandler就是限流之后走的路線。
訪問http://localhost:8084/hotkey?param1=hellohttp://localhost:8084/hotkey?param1=hellohttp://localhost:8084/hotkey?param1=hello
由于我設(shè)置的閾值為QPS=1,所以當(dāng)我訪問超過這個(gè)閾值時(shí)
但當(dāng)你隨便訪問param2是,沒有任何影響
3、基本使用2
我們可能想要對(duì)某個(gè)參數(shù)的數(shù)據(jù)進(jìn)行提高閾值
如果param1=good,由于QPS=50,即使很快的刷新瀏覽器也難以被限流
總結(jié)
以上是生活随笔為你收集整理的手把手带你领略双十一背后的核心技术Sentinel之热点参数限流的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手把手带你领略双十一背后的核心技术Sen
- 下一篇: 流控组件Sentinel核心注解@Sen