Sentinel流量卫兵
文章目錄
- 1、什么是Sentinel
- 2、Sentinel的特性:
- 3、兩個(gè)重要概念
- 3.1 資源
- 3.2 規(guī)則
- 4、Sentinel Dashboard使用
- 4.1 下載
- 4.2 啟動(dòng)
- 4.3 訪問web界面
- 4.4 登錄
- 5、sentinel實(shí)時(shí)監(jiān)控服務(wù)
- 5.1 創(chuàng)建項(xiàng)目并引入依賴
- 5.2 配置
- 5.3 啟動(dòng)服務(wù)并訪問dashboard界面查看服務(wù)監(jiān)控
- 5.4 開發(fā)服務(wù)
- 5.5 啟動(dòng)并進(jìn)行服務(wù)調(diào)用
- 5.6 查看實(shí)時(shí)監(jiān)控界面
1、什么是Sentinel
github官網(wǎng):https://github.com/alibaba/Sentinel
中文文檔:https://sentinelguard.io/zh-cn/docs/introduction.html
??Sentinel是阿里中間件團(tuán)隊(duì)開源的,面向分布式服務(wù)架構(gòu)的高可用流量防護(hù)組件,主要以流量為切入點(diǎn),從限流、流量整形、熔斷降級(jí)、系統(tǒng)負(fù)載保護(hù)、熱點(diǎn)防護(hù)等多個(gè)維度來幫助開發(fā)者保障微服務(wù)的穩(wěn)定性。
該組件可以替換hystrix了。
??sentinel提供了兩個(gè)服務(wù)組件:
- sentinel:用來實(shí)現(xiàn)微服務(wù)系統(tǒng)中服務(wù)熔斷、降級(jí)等功能。
- sentinel dashboard:用來監(jiān)控微服務(wù)系統(tǒng)中流量調(diào)用等情況(和hystrix dashboard類似)。
2、Sentinel的特性:
-
豐富的應(yīng)用場景:Sentinel 承接了阿里巴巴近 10 年的雙十一大促流量的核心場景,例如秒殺(即突發(fā)流量控制在系統(tǒng)容量可以承受的范圍)、消息削峰填谷、集群流量控制、實(shí)時(shí)熔斷下游不可用應(yīng)用等。
-
完備的實(shí)時(shí)監(jiān)控:Sentinel 同時(shí)提供實(shí)時(shí)的監(jiān)控功能。您可以在控制臺(tái)中看到接入應(yīng)用的單臺(tái)機(jī)器秒級(jí)數(shù)據(jù),甚至 500 臺(tái)以下規(guī)模的集群的匯總運(yùn)行情況。
-
廣泛的開源生態(tài):Sentinel 提供開箱即用的與其它開源框架/庫的整合模塊,例如與 Spring Cloud、Dubbo、gRPC 的整合。您只需要引入相應(yīng)的依賴并進(jìn)行簡單的配置即可快速地接入 Sentinel。
3、兩個(gè)重要概念
3.1 資源
可以是Java應(yīng)用程序中的任何內(nèi)容,例如,由應(yīng)用程序提供的服務(wù)或有應(yīng)用程序調(diào)用其它應(yīng)用提供的服務(wù),甚至可以是一段代碼。
3.2 規(guī)則
圍繞資源的實(shí)時(shí)狀態(tài)設(shè)定的規(guī)則,可以包括流量控制規(guī)則、熔斷降級(jí)規(guī)則以及系統(tǒng)保護(hù)規(guī)則。所有規(guī)則可以動(dòng)態(tài)實(shí)時(shí)調(diào)整。
4、Sentinel Dashboard使用
4.1 下載
https://github.com/alibaba/Sentinel/releases4.2 啟動(dòng)
儀表盤是個(gè)jar包可以直接通過java命令啟動(dòng) 如: java -jar 方式運(yùn)行 默認(rèn)端口為 8080
java -Dserver.port=9191 -jar sentinel-dashboard-1.7.2.jar??這里我是在windows上面啟動(dòng)的,剛開始在linux上啟動(dòng)的時(shí)候,sentinel實(shí)時(shí)監(jiān)控和流量控制有點(diǎn)問題。
4.3 訪問web界面
http://localhost:9191/#/login4.4 登錄
用戶名和密碼都是sentinel
5、sentinel實(shí)時(shí)監(jiān)控服務(wù)
5.1 創(chuàng)建項(xiàng)目并引入依賴
<!--引入nacos client的依賴--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><!--引入sentinel依賴--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId></dependency>5.2 配置
server.port=8998 spring.application.name=SENTINEL#nacos server spring.cloud.nacos.server-addr=192.168.159.22:8848# 開啟sentinel保護(hù) spring.cloud.sentinel.enabled=true #指定sentinel dashboard的web地址 spring.cloud.sentinel.transport.dashboard=localhost:9191 #指定sentinel組件與sentinel dashboard組件通信地址 spring.cloud.sentinel.transport.port=87195.3 啟動(dòng)服務(wù)并訪問dashboard界面查看服務(wù)監(jiān)控
發(fā)現(xiàn)界面什么都沒有?
默認(rèn)情況下sentinel為延遲加載,不會(huì)在啟動(dòng)之后立即創(chuàng)建服務(wù)監(jiān)控,需要對(duì)服務(wù)進(jìn)行調(diào)用時(shí)才會(huì)初始化。
5.4 開發(fā)服務(wù)
5.5 啟動(dòng)并進(jìn)行服務(wù)調(diào)用
http://localhost:8998/demo
5.6 查看實(shí)時(shí)監(jiān)控界面
總結(jié)
以上是生活随笔為你收集整理的Sentinel流量卫兵的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CSU 1809
- 下一篇: 伍鸣博士受邀出席徐汇区住房租赁市场研讨会