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