ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

sentinel 中rule的加载过程

2022-06-16 02:00:55  阅读:175  来源: 互联网

标签:AuthorityRuleManager 配置文件 rule SentinelProperty sentinel 加载


 

1.主要类介绍

1.1.Rule

sentinel中的限流,黑白名单,熔断降级,系统自适应保护功能中的各种规则都被抽象成了Rule,不同的功能使用不同的Rule.

 

 

1.2.SentinelProperty

sentinel中的配置都保存在SentinelProperty中

 

 

1.3.PropertyListener

每个SentinelProperty都可以注册多个PropertyListener,用于监听property中的配置的改变,然后完成一些操作.

 

1.4.ruleManager

不同的rule有不同的ruleManager,但是ruleManager并没有统一继承的父类,

2.rule的加载过程(AuthorityRuleManager为例,其他的原理一致)

 

 

1.sentinel会把用户配置的黑白名单的规则(不论是在文件中,还是在数据库中)转化成AuthorityRule实例

2.调用AuthorityRuleManager的loadRules方法加载用户定义的配置文件

3.loadRules方法会调用AuthorityRuleManager中SentinelProperty的updateValue方法,这个方法会替换SentinelProperty中的配置文件为新传入的值.

3.由于在SentinelProperty中配置了PropertyListener,当SentinelProperty中的配置文件发生改变的时候propertyListener就会监听到,并且调用configUpdate方法.configuUpdate方法会把SentinelProperty中的配置信息转化成AuthorityRuleManager可以直接使用的内容,然后保存到AuthorityRuleManager的authorityRules中.到此整个加载过程就完成了.

 

标签:AuthorityRuleManager,配置文件,rule,SentinelProperty,sentinel,加载
来源: https://www.cnblogs.com/monkeydai/p/16380531.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有