sentinel 端口_双剑合璧Nacos结合Sentinel实现流量安全控制(一):Sentinel核心库和控制台...
Alibaba Sentinel 是一款高性能且輕量級的流量控制、熔斷降級解決方案。是面向分布式服務(wù)架構(gòu)的高可用流量控制組件。
Sentinel 官網(wǎng):https://sentinelguard.io/zh-cn/
Github:https://github.com/alibaba/Sentinel
一、Sentinel 是什么
隨著微服務(wù)的流行,服務(wù)和服務(wù)之間的穩(wěn)定性變得越來越重要。Sentinel 主要以流量為切入點,從流量控制、熔斷降級、系統(tǒng)自適應(yīng)保護(hù)等多個維度來保障微服務(wù)的穩(wěn)定性。
Sentinel 具有以下特征:
- 「豐富的應(yīng)用場景」:
Sentinel 承接了阿里巴巴近 10 年的雙十一大促流量的核心場景,例如秒殺(即突發(fā)流量控制在系統(tǒng)容量可以承受的范圍)、消息削峰填谷、集群流量控制、實時熔斷下游不可用應(yīng)用等。
- 「完備的實時監(jiān)控」:
Sentinel 同時提供實時的監(jiān)控功能。您可以在控制臺中看到接入應(yīng)用的單臺機(jī)器秒級數(shù)據(jù),甚至 500 臺以下規(guī)模的集群的匯總運行情況。
- 「廣泛的開源生態(tài)」:
Sentinel 提供開箱即用的與其它開源框架/庫的整合模塊,例如與 Spring Cloud、Dubbo、gRPC 的整合。您只需要引入相應(yīng)的依賴并進(jìn)行簡單的配置即可快速地接入 Sentinel。
- 「完善的 SPI 擴(kuò)展點」:
Sentinel 提供簡單易用、完善的 SPI 擴(kuò)展接口。您可以通過實現(xiàn)擴(kuò)展接口來快速地定制邏輯。例如定制規(guī)則管理、適配動態(tài)數(shù)據(jù)源等。
- 「Sentinel 主要特征」
- 「Sentinel 開源生態(tài)」
Sentinel 目前已經(jīng)針對 Servlet、Dubbo、Spring Boot/Spring Cloud、gRPC 等進(jìn)行了適配,用戶只需引入相應(yīng)依賴并進(jìn)行簡單配置即可非常方便地享受 Sentinel 的高可用流量防護(hù)能力。Sentinel 還為 Service Mesh 提供了集群流量防護(hù)的能力。未來 Sentinel 還會對更多常用框架進(jìn)行適配。
Sentinel 分為兩個部分:
核心庫(Java 客戶端)不依賴任何框架/庫,能夠運行于所有 Java 運行時環(huán)境,同時對 Dubbo / Spring Cloud 等框架也有較好的支持。
控制臺(Dashboard)基于 Spring Boot 開發(fā),打包后可以直接運行,不需要額外的 Tomcat 等應(yīng)用容器。
二、Sentinel 的歷史
2012 年,Sentinel 誕生,主要功能為入口流量控制。
2013-2017 年,Sentinel 在阿里巴巴集團(tuán)內(nèi)部迅速發(fā)展,成為基礎(chǔ)技術(shù)模塊,覆蓋了所有的核心場景。Sentinel 也因此積累了大量的流量歸整場景以及生產(chǎn)實踐。
2018 年,Sentinel 開源,并持續(xù)演進(jìn)。
2019 年,Sentinel 朝著多語言擴(kuò)展的方向不斷探索,推出 C++ 原生版本,同時針對 Service Mesh 場景也推出了 Envoy 集群流量控制支持,以解決 Service Mesh 架構(gòu)下多語言限流的問題。
2020 年,推出 Sentinel Go 版本,繼續(xù)朝著云原生方向演進(jìn)。
三、Sentinel 核心
Sentinel 的使用可以分為兩個部分:
核心庫(Java 客戶端):不依賴任何框架/庫,能夠運行于 Java 7 及以上的版本的運行時環(huán)境,同時對 Dubbo / Spring Cloud 等框架也有較好的支持(見 主流框架適配)。
控制臺(Dashboard):控制臺主要負(fù)責(zé)管理推送規(guī)則、監(jiān)控、集群限流分配管理、機(jī)器發(fā)現(xiàn)等。
四、Sentinel 控制臺
Sentinel 提供一個輕量級的開源控制臺,它提供機(jī)器發(fā)現(xiàn)以及健康情況管理、監(jiān)控(單機(jī)和集群),規(guī)則管理和推送的功能。
官網(wǎng)文檔:https://github.com/alibaba/Sentinel/wiki/控制臺
4.1 獲取控制臺
您可以從 release 頁面 下載最新版本的控制臺 jar 包。
您也可以從最新版本的源碼自行構(gòu)建 Sentinel 控制臺:
下載 控制臺 工程
使用以下命令將代碼打包成一個 fat jar: mvn clean package
4.2 啟動控制臺
啟動命令如下,本文使用的是目前最新 1.7.2 版本:
java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.7.2.jar**
「注意」:啟動 Sentinel 控制臺需要 JDK 版本為 1.8 及以上版本。**
其中 -Dserver.port=8080 用于指定 Sentinel 控制臺端口為 8080。
從 Sentinel 1.6.0 起,Sentinel 控制臺引入基本的「登錄」功能,默認(rèn)用戶名和密碼都是 sentinel??梢詤⒖?鑒權(quán)模塊文檔 配置用戶名和密碼。
注:若您的應(yīng)用為 Spring Boot 或 Spring Cloud 應(yīng)用,您可以通過 Spring 配置文件來指定配置,詳情請參考 Spring Cloud Alibaba Sentinel 文檔。為了方便啟動,可以編寫一個啟動腳本 run.bat:
java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.7.2.jar pause4.3 訪問
訪問:http://localhost:8080/
輸入默認(rèn)用戶名和密碼 sentinel 點擊登錄。至此控制臺就安裝完成了。
原作者:哈嘍沃德先生,請關(guān)注 哈嘍沃德先生公眾號,如要獲取**springcloud alibaba微服務(wù)架構(gòu)視頻教程**,請點加粗部分文字。
總結(jié)
以上是生活随笔為你收集整理的sentinel 端口_双剑合璧Nacos结合Sentinel实现流量安全控制(一):Sentinel核心库和控制台...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python写名片管理系统_Python
- 下一篇: Excel里,vlookup函数各种应用