Sentinel 特性
1、輕量級和高效能
Sentinel 作為一個功能完備的高可用流量管控元件,其核心 sentinel-core 沒有任何多餘依賴,打包後只有不到 200 KB,非常輕量級。開發者可以放心地引入 sentinel-core 而不需擔心依賴問題。同時,Sentinel 提供了多種擴充套件點,使用者可以很方便地根據需求去進行擴充套件,並且無縫地切合到 Sentinel 中。
引入 Sentinel 帶來的效能損耗非常小。只有在業務單機量級超過 25W QPS 的時候才會有一些顯著的影響(5% - 10% 左右),單機 QPS 不太大的時候損耗幾乎可以忽略不計。
2、流量控制
Sentinel 可以針對不同的呼叫關係,以不同的執行指標(如 QPS、併發呼叫數、系統負載等)為基準,對資源呼叫進行流量控制,將隨機的請求調整成合適的形狀。
Sentinel 支援多樣化的流量整形策略,在 QPS 過高的時候可以自動將流量調整成合適的形狀。常用的有:
直接拒絕模式:即超出的請求直接拒絕。
慢啟動預熱模式:當流量激增的時候,控制流量透過的速率,讓透過的流量緩慢增加,在一定時間內逐漸增加到閾值上限,給冷系統一個預熱的時間,避免冷系統被壓垮。
勻速器模式:利用 Leaky Bucket 演算法實現的勻速模式,嚴格控制了請求透過的時間間隔,同時堆積的請求將會排隊,超過超時時長的請求直接被拒絕。Sentinel 還支援基於呼叫關係的限流,包括基於呼叫方限流、基於呼叫鏈入口限流、關聯流量限流等,依託於 Sentinel 強大的呼叫鏈路統計資訊,可以提供精準的不同維度的限流。
目前 Sentinel 對非同步呼叫鏈路的支援還不是很好,後續版本會著重改善支援非同步呼叫。
3、系統負載保護
Sentinel 對系統的維度提供保護,負載保護演算法借鑑了 TCP BBR 的思想。當系統負載較高的時候,如果仍持續讓請求進入,可能會導致系統崩潰,無法響應。在叢集環境下,網路負載均衡會把本應這臺機器承載的流量轉發到其它的機器上去。如果這個時候其它的機器也處在一個邊緣狀態的時候,這個增加的流量就會導致這臺機器也崩潰,最後導致整個叢集不可用。針對這個情況,Sentinel 提供了對應的保護機制,讓系統的入口流量和系統的負載達到一個平衡,保證系統在能力範圍之內處理最多的請求。
4、實時監控和控制皮膚
Sentinel 提供 HTTP API 用於獲取實時的監控資訊,如呼叫鏈路統計資訊、簇點資訊、規則資訊等。如果使用者正在使用 Spring Boot/Spring Cloud 並使用了Sentinel Spring Cloud Starter,還可以方便地透過其暴露的 Actuator Endpoint 來獲取執行時的一些資訊,如動態規則等。未來 Sentinel 還會支援標準化的指標監控 API,可以方便地整合各種監控系統和視覺化系統,如 Prometheus、Grafana 等。
Sentinel控制檯(Dashboard)提供了機器發現、配置規則、檢視實時監控、檢視呼叫鏈路資訊等功能,使得使用者可以非常方便地去檢視監控和進行配置。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2558/viewspace-2807300/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SpringCloud使用Sentinel,Sentinel持久化,Sentinel使用nacos持久化SpringGCCloud持久化
- springcloud~SentinelSpringGCCloud
- Redis——SentinelRedis
- sentinel-ProcessorSlot
- Sentinel實戰
- Redis sentinel搭建Redis
- sentinel入門
- Sentinel高階
- Redis哨兵sentinelRedis
- sentinel接入記錄
- SpringCloud-Alibaba-SentinelSpringGCCloud
- 【Redis】Sentinel 哨兵模式Redis模式
- Sentinel原理一覽
- SpringCloud——Sentinel入門SpringGCCloud
- Sentinel 原理-全解析
- Spring Cloud Alibaba SentinelSpringCloud
- Sentinel 原理-呼叫鏈
- Redis高可用 SentinelRedis
- Sentinel原始碼解析之一次請求走進Sentinel原始碼
- Feign整合Sentinel 開啟 feign.sentinel.enabled=true 啟動報錯
- Sentinel簡單使用(1)
- 聊聊Redis sentinel 機制Redis
- Redis Sentinel哨兵模式部署Redis模式
- 微服務元件 Sentinel(三)微服務元件
- 微服務元件 Sentinel(二)微服務元件
- 微服務元件 Sentinel(一)微服務元件
- Sentinel基礎應用
- redis sentinel配置啟動Redis
- redis sentinel哨兵 例項Redis
- Sentinel之流控規則
- sentinel-1下載
- Redis Sentinel實現原理Redis
- SpringCloud11 -- Alibaba SentinelSpringGCCloud
- Redis 哨兵高可用(Sentinel)Redis
- Sentinel 原理-實體類
- Sentinel 實戰-限流篇
- SpringCloud使用Sentinel 代替 HystrixSpringGCCloud
- springcloud alibaba sentinel降級 @SentinelResourceSpringGCCloud