Sentinel-持久化

  • 直接使用dashboard和sentinel配置各种规则时,默认是存在了内存中。如果服务器重启那么数据就会丢失,从而Sentinel提供了5中持久化的方式,将各种配置数据进行持久化,若服务器重启就重新加载持久化的数据,防止数据丢失。

1、持久化原理

Sentinel 为我们提供了两个接口来实现规则的持久化,他们分别是:ReadableDataSource 和 WritableDataSource。其中主要关注ReadableDataSource。

public interface ReadableDataSource<S, T> {
   
	//将原始数据转换成我们所需的格式
    T loadConfig() throws Exception;
	//从数据源中读取原始的数据
    S readSource() throws Exception;
	//获取该种数据源的SentinelProperty对象,数据变化监听器
    SentinelProperty<T> getProperty();
}

Sentinel 还为我们提供了一个抽象类:AbstractDataSource,该抽象类中实现了两个方法,具体的数据源实现类只需要实现一个 readSource 方法即可。

public abstract class AbstractDataSource<S, T> implements ReadableDataSource

你可能感兴趣的:(限流降级,java,高并发)