[梦中一夜下江南总结]SpringBoot集成Sentienl容错

Sentienl是什么

面向云原生微服务的高可用流控防护组件

如何使用
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
下载控制台应用

sentinel-dashboard-1.7.2.jar
点我 地址

为程序添加配置文件
spring:
  cloud:
    sentinel:
      transport:
        # 指定sentinel控制台地址
        dashboard: localhost:8080
        # 指定和控制台通信的IP,若不配置,会自动选择一个IP注册
        client-ip: 127.0.0.1
        # 指定和控制台通信的端口哦,默认值8719
        # 若不配置,会自动扫猫从8719开始扫猫,依次+1,知道值找到未被占用的端口
        port: 8719
        # 心跳发送周期,默认值null
        # 但在SimpleHttpHeartbeatSender会用默认值10秒
        heartbeat-interval-ms: 10000

流控模式

QPS(每秒钟的请求数量):当调用该api的QPS达到阈值的时候,进行限流
线程数:当调用该api的线程数达到阈值的时候,进行限流

流控模式:
直接:api达到限流条件时,直接限流
关联:当关联的资源达到阈值时,就限流自己
链路:只记录指定链路上的流量(指定资源从入口资源进来的流量,如果达到阈值,就进行限流)【api级别的针对来源】

流控效果:
快速失败:直接失败,抛异常
Warm Up:根据codeFactor(冷加载因子,默认3)的值,从阈值/codeFactor,经过预热时长,才达到设置的QPS阈值
排队等待:匀速排队,让请求以匀速的速度通过,阈值类型必须设置为QPS,否则无效

降级模式

RT:平均响应时间(秒级统计)超出阈值且在时间窗口内的请求 >= 5时,触发降级;时间窗口结束后,关闭降级【Sentinel默认最大的RT为4900ms,可以通过-Dcsp.sentinel.statistic.max.rt=xxx修改】
异常比例:QPS >= 5 且异常比例(秒级统计)超过阈值时,触发降级;时间窗口结束后,关闭降级
异常数:异常数(分钟统计)超过阈值时,触发降级;时间窗口结束后,关闭降级【时间窗口 < 60秒可能会出现问题】

还没搞明白等搞明白了,再写下去

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot是一个用于创建独立的、基于生产级别的Spring应用程序的框架。而RocketMQ是一个开源的分布式消息中间件,具有高吞吐量、高可用性、可伸缩性和容错性等特点。下面是Spring Boot集成RocketMQ服务端的步骤: 1. 添加RocketMQ依赖:在Spring Boot项目的pom.xml文件中添加RocketMQ的依赖,例如: ```xml <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-spring-boot-starter</artifactId> <version>2.2.0</version> </dependency> ``` 2. 配置RocketMQ:在Spring Boot项目的application.properties或application.yml文件中配置RocketMQ相关属性,例如: ```yaml rocketmq.name-server=127.0.0.1:9876 rocketmq.producer.group=my-group rocketmq.consumer.group=my-group ``` 3. 创建RocketMQ生产者:使用RocketMQ提供的注解和配置,创建一个RocketMQ生产者,例如: ```java @Component @RocketMQProducer(topic = "my-topic", producerGroup = "my-group") public class MyProducer { @Autowired private RocketMQTemplate rocketMQTemplate; public void sendMessage(String message) { rocketMQTemplate.convertAndSend("my-topic", message); } } ``` 4. 创建RocketMQ消费者:使用RocketMQ提供的注解和配置,创建一个RocketMQ消费者,例如: ```java @Component @RocketMQMessageListener(topic = "my-topic", consumerGroup = "my-group") public class MyConsumer implements RocketMQListener<String> { @Override public void onMessage(String message) { System.out.println("Received message: " + message); } } ``` 5. 启动应用程序:运行Spring Boot应用程序,RocketMQ生产者将发送消息到指定的主题,RocketMQ消费者将接收并处理消息。 这样,你就完成了Spring Boot集成RocketMQ服务端的配置和使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值