jeecg启动Sentinel 一直是空白页面 解决办法用 外部 Sentinel SpringCloud之Sentinel概述和安装及简单整合
文章目录
- jeecg启动Sentinel 一直是空白页面 解决办法用 外部 Sentinel SpringCloud之Sentinel概述和安装及简单整合
- Sentinel概述
- 基本介绍
- Sentinel安装
- 下载地址: https://github.com/alibaba/Sentinel/releases
- 将jar包放到任意非中文目录
- 启动jar包:
- 指定端口:
- jeecg-system-cloud-start 整合Sentinel
- 我们在jeecg-system-cloud-start服务的pom文件中添加以下依赖:
- 修改application.yaml文件,添加下面内容:
- 完整的
- 重新启动 jeecg-system-cloud-start 。
- 查看sentinel控制台:
- 也可以参考这个文章 看使用方法和代码配置
Sentinel概述
基本介绍
Sentinel是阿里巴巴开源的一款微服务流量控制组件 官网地址述
随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。
Sentinel 具有以下特征:
•丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。
•完备的实时监控:Sentinel 同时提供实时的监控功能。您可以在控制台中看到接入应用的单台机器秒级数据,甚至 500 台以下规模的集群的汇总运行情况。
•广泛的开源生态:Sentinel 提供开箱即用的与其它开源框架/库的整合模块,例如与 Spring Cloud、Dubbo、gRPC 的整合。您只需要引入相应的依赖并进行简单的配置即可快速地接入 Sentinel。
•完善的 SPI 扩展点:Sentinel 提供简单易用、完善的 SPI 扩展接口。您可以通过实现扩展接口来快速地定制逻辑。例如定制规则管理、适配动态数据源等
Sentinel安装
下载地址: https://github.com/alibaba/Sentinel/releases
将jar包放到任意非中文目录
启动jar包:
java -jar sentinel-dashboard-1.8.1.jar
指定端口:
java -jar sentinel-dashboard-1.8.1.jar -Dserver.port=8090
修改其他配置看官网: https://sentinelguard.io/zh-cn/
访问 localhost:8080 默认账号密码都是:sentinel
可以看到现在是一片空白的,稍后整合服务以后就可以出现信息的。
jeecg-system-cloud-start 整合Sentinel
我们在jeecg-system-cloud-start服务的pom文件中添加以下依赖:
<!--sentinel-->
<dependency><groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
修改application.yaml文件,添加下面内容:
这次加入 的是这个
sentinel:transport:dashboard: localhost:8080
完整的
server:port: 7001spring:application:name: jeecg-systemcloud:nacos:config:server-addr: @config.server-addr@discovery:server-addr: ${spring.cloud.nacos.config.server-addr}sentinel:transport:dashboard: localhost:8080config:import:- optional:nacos:jeecg.yaml- optional:nacos:jeecg-@profile.name@.yaml
重新启动 jeecg-system-cloud-start 。
查看sentinel控制台:
但注意默认只有controller中的方法会被监控,Service层的方法没有被监控,也就不能配置限流规<则,要标记其它方法,需要利用@SentinelResource注解。
链路模式中,是对不同来源的两个链路做监控。但是sentinel默认会给进入SpringMVC的所有请求设置同一个root资源,会导致链路模式失效。
我们需要关闭这种对SpringMVC的资源聚合,修改服务的application.yml文件:
spring:cloud:sentinel:web-context-unify: false # 关闭context整合
也可以参考这个文章 看使用方法和代码配置
参考文章