Sentinel持久化机制 - 图1

(一)原生模式

Dashboard的推送规则方式是通过 API 将规则推送至客户端并直接更新到内存
Sentinel持久化机制 - 图2


优缺点:这种做法的好处是简单,无依赖;坏处是应用重启规则就会消失,仅用于简单测试,不能用于生产环境

(二)Pull拉模式(不建议用)

Sentinel持久化机制 - 图3
首先 Sentinel 控制台通过 API 将规则推送至客户端并更新到内存中,接着注册的写数据源会将新的规则保存到本地的文件中。使用 pull 模式的数据源时一般不需要对 Sentinel 控制台进行改造。
这种实现方法好处是简单,不引入新的依赖,坏处是无法保证监控数据的一致性

客户端Sentinel的改造(拉模式)
通过SPI扩展机制进行扩展,我们写一个拉模式的实现类
com.tuling.persistence.PullModeByFileDataSource,然后在工厂目录下创建
META-INF/services/com.alibaba.csp.sentinel.init.InitFunc文件

Sentinel持久化机制 - 图4
文件的内容就是写我们的拉模式的实现类:
Sentinel持久化机制 - 图5

(三)推模式:push(已Nacos为例) 生产推荐使用


Sentinel持久化机制 - 图6

原理简述

程序员配置了规则,规则直接会到ZK或者Nacos配置中心就什么都不管了, 然后配置了Sentinel的客户端会监听这个配置中心,如果有规则变动,那么配置了Sentinel的客户端会自动监听到这个配置中心的变化.

(四)接入AHAS


收费的

开通地址:https://ahas.console.aliyun.com/
开通规则说明:https://help.aliyun.com/document_detail/90323.html