Процесс сохранения
Почему настойчивость? Если он не сохраняется, перезапустите приложение, и данные исчезнут. Это также называется необработанным режимом.
Мы рекомендуем устанавливать правила через консоль и отправлять правила в единый центр правил.Клиент реализует интерфейс ReadableDataSource и отслеживает центр правил для получения изменений в режиме реального времени.
Процесс выглядит следующим образом:
DataSource расширяет общие реализации
-
Режим извлечения: клиент активно опрашивает и извлекает правила из центра управления правилами, который может быть реляционной СУБД, файлами или даже системой контроля версий. Способ сделать это прост, но недостатком является то, что изменения не могут быть получены вовремя; -
Режим принудительной отправки: центр правил равномерно распределяет изменения, а клиент постоянно отслеживает изменения, регистрируя слушателей, например, используя центры конфигурации, такие как Nacos и Zookeeper. Этот метод имеет лучшие гарантии согласованности и реального времени.
Давайте посмотрим, какие режимы доступны и чем они отличаются.

зависимости pom-файла
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-datasource-nacos</artifactId>
</dependency>
конфигурация yaml
spring:
cloud:
sentinel:
transport:
dashboard: localhost:8080
# port: 8719
# client-ip: localhost
eager: true
web-context-unify: false
datasource:
# 规则命名:可以任意命名
flow-rule:
# 持久化在nacos中,还可选择zookeeper,consul等
nacos:
# nacos服务地址
server-addr: ip:8848
namespace: 45de6484-833e-4cce-b895-f14095f20605
group-id: SENTINEL_GROUP
# 配置DataId
data-id: ossa-service-producer-flow-rule
data-type: json
# 流控规则:FLOW,DEGRADE,PARAM_FLOW等
rule-type: flow
конфигурация nacos

[
{
"resource": "/test",
"limitApp": "default",
"grade": 1,
"count": 2,
"strategy": 0,
"controlBehavior": 0,
"clusterMode": false
},
{
"resource": "/producer/{id}",
"limitApp": "default",
"grade": 1,
"count": 2,
"strategy": 0,
"controlBehavior": 0,
"clusterMode": false
}
]