springcloud3 Sentinel的搭建以及作用
Posted 健康平安的活着
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springcloud3 Sentinel的搭建以及作用相关的知识,希望对你有一定的参考价值。
一 sentinel的概念
1.1 sentinel
Sentinel是分布式系统流量控制的哨兵,阿里开源的一套服务容错的综合性解决方案。
主要用来处理:
服务降级
服务熔断
超时处理
流量控制
sentinel 的使用可以分为两个部分:
核心库(Java 客户端):不依赖任何框架/库,能够运行于 Java 8 及以上的版本的运行时环境,同时对 Dubbo / Spring Cloud 等框架也有较好的支持。
控制台(Dashboard):Dashboard 主要负责管理推送规则、监控、管理机器信息等。基于 Spring Boot 开发,打包后可以直接运行。
二 sentinel的安装
2.1 sentinel的安装
中文文档:
程序包下载:
Releases · alibaba/Sentinel · GitHub
启动jar包
F:\\>java -jar sentinel-dashboard-1.7.2.jar
页面访问: sentinel / sentinel
输入地址: http://localhost:8080/
三 sentinel的各种用途
3.1 实时监控
3.1.1 架构图
3.1.2 sentinel消费项目
1.pom
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
<!--SpringCloud ailibaba nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2021.1</version>
</dependency>
<!--SpringCloud ailibaba sentinel-datasource-nacos 后续做持久化用到-->
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-datasource-nacos</artifactId>
<version>1.5.2</version>
</dependency>
<!--SpringCloud ailibaba sentinel -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
<version>2021.1</version>
</dependency>
<!--openfeign-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<!-- SpringBoot整合Web组件+actuator -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--日常通用jar包配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>4.6.3</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
2.application配置文件
server:
port: 7005
spring:
application:
name: mscloud-sentinel-consumer
cloud:
nacos:
discovery:
server-addr: localhost:8848 #Nacos服务注册中心地址
sentinel:
transport:
dashboard: localhost:8080 #配置Sentinel dashboard地址
port: 8719
management:
endpoints:
web:
exposure:
include: '*'
3.业务类
@RestController
@Slf4j
public class DataLimitController
@GetMapping("/testA")
public String testA()
return "------testA";
@GetMapping("/testB")
public String testB()
log.info(Thread.currentThread().getName()+"\\t"+"...testB");
return "------testB";
4.启动类
@EnableDiscoveryClient
@SpringBootApplication
public class App
public static void main( String[] args )
SpringApplication.run(App.class, args);
3.1.3 操作
1.启动nacos
2.启动sentinel服务
3.启动sentinel消费服务
3.1.4 进行监控访问
访问地址: http://localhost:7005/testA 多次刷新访问几次
2.查看监控
访问地址: http://localhost:7005/testB 多次刷新访问几次
以上是关于springcloud3 Sentinel的搭建以及作用的主要内容,如果未能解决你的问题,请参考以下文章
springcloud3 Sentinel的hot key(热点参数)规则