sl-express/sentinel/sentinel-extension/sentinel-datasource-zookeeper
shuhongfan cf5ac25c14 init 2023-09-04 16:40:17 +08:00
..
src init 2023-09-04 16:40:17 +08:00
README.md init 2023-09-04 16:40:17 +08:00
pom.xml init 2023-09-04 16:40:17 +08:00

README.md

Sentinel DataSource ZooKeeper

Sentinel DataSource ZooKeeper provides integration with ZooKeeper so that ZooKeeper can be the dynamic rule data source of Sentinel. The data source uses push model (listener).

To use Sentinel DataSource ZooKeeper, you should add the following dependency:

<dependency>
    <groupId>com.alibaba.csp</groupId>
    <artifactId>sentinel-datasource-zookeeper</artifactId>
    <version>x.y.z</version>
</dependency>

Then you can create an ZookeeperDataSource and register to rule managers. For instance:

// `path` is the data path in ZooKeeper
ReadableDataSource<String, List<FlowRule>> flowRuleDataSource = new ZookeeperDataSource<>(remoteAddress, path, source -> JSON.parseObject(source, new TypeReference<List<FlowRule>>() {}));
FlowRuleManager.register2Property(flowRuleDataSource.getProperty());

Note: It's not recommended to add a large amount of rules to a single path (has limitation, also leads to bad performance).

We've also provided an example: sentinel-demo-zookeeper-datasource.