Sentinel 是阿裏巴巴開源的分布式系統的流量防衛組件,Sentinel 把流量作為切入點,從流量控制,熔斷降級,系統負載保護等多個維度保護服務的穩定性。
2.1功能:
查看機器列表以及健康情況 :收集 Sentinel 客戶端發送的心跳包,用於判斷機器是否在線。
監控 (單機和集群聚合) :通過 Sentinel 客戶端暴露的監控 API,定期拉取並且聚合應用監控信息,最終可以實現秒級的實時監控。
規則管理和推送 :統壹管理推送規則。
鑒權 :生產環境中鑒權非常重要。這裏每個開發者需要根據自己的實際情況進行定制
2.2特點
豐富的應用場景:例如 秒殺(即突發流量控制在系統容量可以承受的範圍)、消息削峰填谷、集群流量控制、實時熔斷下遊不可用應用 等
完備的實時監控:Sentinel 同時提供 實時的監控功能 。您可以在控制臺中看到接入應用的單臺機器秒級數據,甚至 500 臺以下 規模的集群的匯總運行情況。
廣泛的開源生態:Sentinel 提供開箱即用的與其它開源框架/庫的整合模塊,例如與 Spring Cloud、Dubbo、gRPC 的整合。您只需要引入相應的依賴並進行簡單的配置即可快速地接入 Sentinel。
完善的 SPI 擴展點:Sentinel 提供簡單易用、完善的 SPI 擴展接口。您可以通過實現擴展接口來快速地定制邏輯。例如 定制規則管理、適配動態數據源 等。
核心庫(Java 客戶端)不依賴任何框架/庫,能夠運行於所有 Java 運行時環境,同時對 Dubbo / Spring Cloud 等框架也有較好的支持。
控制臺(Dashboard)基於 Spring Boot 開發,打包後可以直接運行,不需要額外的 Tomcat 等應用容器。