ToB企服应用市场:ToB评测及商务社交产业平台

标题: Sentinel入门与进阶:微服务流量控制的最佳实践 ( 三 ) [打印本页]

作者: 数据人与超自然意识    时间: 2024-8-14 16:03
标题: Sentinel入门与进阶:微服务流量控制的最佳实践 ( 三 )
5.配置持久化

现在的sentinel,无法满意我们生产情况的需求,因为一旦sentinel-dashboard发生重启,限流规则也会随之丢失。
sentinel规则的持久化: Sentinel自身就支持了多种不同的数据源来持久化规则配置,比如文件配置,Nacos配置,Zookeeper配置等。
接下来我们讨论一下,怎样使用Nacos来实现规则的持久化配置。
5.1.在 pom.xml 中参加依赖

  1.         <dependency>
  2.             <groupId>com.alibaba.cloud</groupId>
  3.             <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
  4.         </dependency>
  5.         <dependency>
  6.             <groupId>com.alibaba.cloud</groupId>
  7.             <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
  8.         </dependency>      
  9.                 <dependency>
  10.             <groupId>com.alibaba.cloud</groupId>
  11.             <artifactId>spring-cloud-alibaba-sentinel-datasource</artifactId>
  12.         </dependency>
  13.         <dependency>
  14.             <groupId>com.alibaba.csp</groupId>
  15.             <artifactId>sentinel-datasource-nacos</artifactId>
  16.         </dependency>
复制代码
nacos 2.3.2 与 sentinel 1.8.8 版本
5.2.在nacos的配置中心参加配置

注意类型为 JSON

public 命名空间下参加
sca-sentinel-dashboard-sentinel-flow
  1. [
  2.     {
  3.         "resource": "/sentinelTest/sayHello",
  4.         "limitApp": "default",
  5.         "grade": 1,
  6.         "count": 3
  7.     }
  8. ]
复制代码
Data Id :和配置中的data_id相对应
Group:配置文件中的group-id
配置内容:
resource:接口名,即限流规则的作用对象
limitApp:流控针对的调用来源,若为 default 则不区分调用来源
grade:限流阈值类型(QPS 或并发线程数);0代表根据并发数量来限流,1代表根据QPS来进行流量控制
count:限流阈值
strategy:调用关系限流策略
controlBehavior:流量控制结果(直接拒绝、Warm Up、匀速排队)
clusterMode:是否为集群模式
5.3.修改项目配置

在 application.properties 中参加
ds-flow 可以自己定义
  1. spring.cloud.sentinel.datasource.ds-flow.nacos.server-addr=127.0.0.1:8848
  2. spring.cloud.sentinel.datasource.ds-flow.nacos.data-id=${spring.application.name}-sentinel-flow
  3. spring.cloud.sentinel.datasource.ds-flow.nacos.group-id=DEFAULT_GROUP
  4. spring.cloud.sentinel.datasource.ds-flow.nacos.rule-type=flow
  5. spring.cloud.sentinel.datasource.ds-flow.nacos.data-type=json
  6. spring.cloud.sentinel.datasource.ds-flow.nacos.username=nacos
  7. spring.cloud.sentinel.datasource.ds-flow.nacos.password=nacos
  8. spring.cloud.sentinel.datasource.ds-flow.nacos.namespace=DEFAULT_GROUP
复制代码
5.4.检察Sentinel 流控规则



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4