Sentinel 提供了一个轻量级的开源控制台 Sentinel Dashboard,它提供了机器发现与健康情况管理、监控(单机和集群)、规则管理与推送等多种功能。
Sentinel 控制台提供的功能如下:
查看机器列表以及健康情况:Sentinel 控制台能够收集 Sentinel 客户端发送的心跳包,判断机器是否在线。
监控(单机和集群聚合):Sentinel 控制台通过 Sentinel 客户端暴露的监控 API,可以实现秒级的实时监控。
规则管理和推送:通过 Sentinel 控制台,我们还能够针对资源定义和推送规则。
鉴权:从 Sentinel 1.6.0 起,Sentinel 控制台引入基本的登录功能,默认用户名和密码都是 sentinel。
1.下载sentinel-dashboard:https://github.com/alibaba/Sentinel/releases
2.运行dashboard 后台运行:nohup java -Dserver.port=指定的端口号 -jar jar包名 >想要生成的日志名.txt &
3.java引入的依赖
<!--Snetinel 依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
配置文件:
spring:
application:
name: nacos-provider
cloud:
sentinel:
transport:
dashboard: localhost:8858
port: 8719
clientIp: seentinel无法检测 可以试一试在这里写上你本机的公网ip 关闭防火墙
management:
endpoint:
web:
exposure:
include: '*'
注意 : sentinel如果你是放在云服务器上的,那么需要打开至少两个端口 1.dashboard的运行端口 2.httpserver运行端口,sentinel会向我们的服务发送心跳请求 保证服务存活 默认是8719 记得安全组打开这些端口。 如果ping不通的话 记得关一下防火墙 ,如果还是不能检测,那么没法了 可能是你的ip问题,不清楚 反正我联不通 直接在windows上运行了 java -jar sentinel包名 --server.port=端口
具体实现细节 还是那个动态代理 它为什么可以执行我们创建的异常类的处理 还是那个动态代理中 trycache捕获异常 使用我们自定义的类来处理