開源分析和落地方案—Sentinel篇
共 8746字,需瀏覽 18分鐘
·
2024-11-13 14:10
一、Sentinel是什么?
二、Sentinel能帶來什么?
?流量控制(FlowRule)
區(qū)分來源、限流類型(QPS/線程數(shù))、支持上下游鏈路、多種流控效果(拒絕、排隊、慢啟動)
熱點限流是對流量控制的補充,對Top-K的熱點參數(shù)進行限流處理
可以理解為應(yīng)用級的流量控制策略,包含負(fù)載、單機平均RT,單機QPS等。不過,因為粒度較粗且部分指標(biāo)的獲取在容器環(huán)境下存在適配問題,所以社區(qū)中大部分人對這個的理解是還有待完善,成熟的案例比較少。
在熔斷降級方面,則是直接對標(biāo)的Hystrix框架,一是在實現(xiàn)機制上做了優(yōu)化,相對Hystrix基于線程池的隔離控制策略,通過并發(fā)控制機制減少了線程池的創(chuàng)建和占用。另外,在配置上也更加簡化,相信有過Hystrix使用經(jīng)驗,都會對其繁雜的注解配置項感到困惑,而當(dāng)引入Sentinel時則無需擔(dān)心這些。
三、Sentinel的重點實現(xiàn)
1、核心規(guī)則控制鏈路
2、Datasource實現(xiàn)
3、Dashboard與應(yīng)用的交互
四、Sentinel源碼包結(jié)構(gòu)
五、Sentinel的落地問題及改造方案
1、規(guī)則數(shù)據(jù)的讀寫
public class NacosDataSourceFactoryBean implements FactoryBean<NacosDataSource>
public NacosDataSourceProperties() { super(NacosDataSourceFactoryBean.class.getName());}
2、Metric統(tǒng)計數(shù)據(jù)及日志的托管
3、Dashboard的適配
4、協(xié)議的適配
六、小結(jié)
掃一掃,加入技術(shù)交流群
評論
圖片
表情
