本文會(huì)講解如何搭建Sentinel源碼調(diào)試環(huán)境,以方便更好的debug源碼,如果對(duì)sentinel還不了解的話,可以先參考官方文檔:Sentinel官方文檔
提示:以下是本篇文章正文內(nèi)容,下面案例可供參考
2. 這里我們想學(xué)習(xí)1.6版本的sentinel源碼,所以切換git分支到release-1.63. 啟動(dòng)sentinel-dashboard:sentinel倉(cāng)庫(kù)地址
4. 登陸dashboard:這里啟動(dòng)成功,在9000端口
這里賬號(hào)和密碼都是sentinel,可以通過(guò)application.properties來(lái)進(jìn)行修改,這里我們還有任何的應(yīng)用項(xiàng)目注冊(cè)進(jìn)來(lái),所以沒(méi)有任何大盤(pán)數(shù)據(jù)
sentinel-demo模塊下面給我們提供了很多測(cè)試樣例,我們看sentinel-demo-annotation-spring-aop下面的,基于注解的demo。
這里controller提供的兩個(gè)api都會(huì)去調(diào)用TestService,我們的流控規(guī)則也定義在testService中
這里方法都通過(guò)SentinelResource注解來(lái)標(biāo)注成一個(gè)資源,并指定了資源名和callback方法和處理BlockException的handler。
我們運(yùn)行DemoApplication,啟動(dòng)這個(gè)demo服務(wù)。
6. 測(cè)試需要在VM options配置一下dashboard的地址和項(xiàng)目的名稱
-Dcsp.sentinel.dashboard.server=localhost:9000 -Dproject.name=demo
這里demo項(xiàng)目啟動(dòng)完成在dashboard中是看不到的,我們需要請(qǐng)求一下demo項(xiàng)目對(duì)應(yīng)的接口才可以,因?yàn)槲覀兊膁emo項(xiàng)目是啟動(dòng)在19966端口,所以我們curl一下。
curl http://127.0.0.1:19966/foo
我們回到服務(wù)臺(tái)刷新一下,發(fā)現(xiàn)服務(wù)已經(jīng)注冊(cè)上去了,并且剛剛調(diào)用信息已經(jīng)在大盤(pán)中顯示了。
我們這里給test這個(gè)資源配置一下流控規(guī)則,qps為2,每秒請(qǐng)求數(shù)不能大于2,否則會(huì)被限流。
這里我們通過(guò)postman多次請(qǐng)求,可以發(fā)現(xiàn)后續(xù)的請(qǐng)求都已經(jīng)被限流了。
上面講述了原本環(huán)境的搭建并演示了流控的一個(gè)demo,后續(xù)我們將進(jìn)行Sentinel源碼剖析。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧