proceso de persistencia
¿Por qué persistencia? Si no es persistente, reinicie la aplicación y los datos desaparecerán. Esto también se llama modo crudo.
Recomendamos configurar las reglas a través de la consola y enviar las reglas al centro de reglas unificado.El cliente implementa la interfaz ReadableDataSource y monitorea el centro de reglas para obtener cambios en tiempo real.
El proceso es el siguiente:
DataSource amplía las implementaciones comunes
-
Modo de extracción: el cliente sondea y extrae reglas activamente de un centro de administración de reglas, que puede ser RDBMS, archivos o incluso VCS. La forma de hacerlo es simple, pero la desventaja es que los cambios no se pueden obtener a tiempo; -
Modo push: el centro de reglas empuja uniformemente y el cliente supervisa los cambios en todo momento mediante el registro de escuchas, como el uso de centros de configuración como Nacos y Zookeeper. Este método tiene mejores garantías de tiempo real y consistencia.
Echemos un vistazo a los modos disponibles y las diferencias entre ellos.

dependencias del archivo pom
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-datasource-nacos</artifactId>
</dependency>
configuración 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
configuración de 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
}
]