sentinel使用及sentinel-dashboard安装
一、什么是Sentinel
- Sentinel,中文翻译为哨兵,是为微服务提供流量控制、熔断降级的功能,它和Hystrix提供的功能一样,可以有效的解决微服务调用产生的“雪崩”效应,为微服务系统提供了稳定性的解决方案。
- 从官方文档的介绍,Sentinel 具有以下特征:
● 丰富的应用场景: Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、实时熔断下游不可用应用等。
● 完备的实时监控: Sentinel 同时提供实时的监控功能。您可以在控制台中看到接入应用的单台机器秒级数据,甚至 500 台以下规模的集群的汇总运行情况。
● 广泛的开源生态: Sentinel 提供开箱即用的与其它开源框架/库的整合模块,例如与 Spring Cloud、Dubbo、gRPC 的整合。您只需要引入相应的依赖并进行简单的配置即可快速地接入 Sentinel。
● 完善的 SPI 扩展点: Sentinel 提供简单易用、完善的 SPI 扩展点。您可以通过实现扩展点,快速的定制逻辑。例如定制规则管理、适配数据源等。
二、sentinel使用
2.1、引入jar包
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
2.2、配置文件application.yml加上如下的配置:
server:
port: 8763
spring:
application:
name: consumer
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
sentinel:
transport:
port: 18763
dashboard: localhost:8748
feign:
sentinel:
enabled: true
三、下载sentinel dashboard
- 官网地址:https://github.com/alibaba/Sentinel/releases
- 通过源码打包得到对应jar包
- 初始登陆用户为sentinel,密码为sentinel
- 启动命令:
nohup java -Dserver.port=8748 -Dcsp.sentinel.dashboard.server=localhost:8748 -Dproject.name=sentinel-dashboard -jar -Xms512m -Xmx512m -XX:PermSize=256M -XX:MaxPermSize=1024m [对应版本jar包] > sentinel.log &
- 注意: 集群资源汇总仅支持 500 台以下的应用集群,有大概 1 - 2 秒的延时。