Sentinel控制台服务搭建
Sentinel 是阿里中间件团队研发的面向分布式服务架构的轻量级高可用流量控制组件。Sentinel 主要以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来帮助用户保护服务的稳定性。
仓库地址:
https://github.com/alibaba/Sentinel/
Sentinel控制台部署
sentinel 的控制台是用 spring boot 写的一个web 应用,一般部署sentinel 控制台程序有如下两种方式。
1、直接下载jar部署
https://github.com/alibaba/Sentinel/releases
2、下载源码编译后部署
下载完整的 sentinel 的项目,然后构建其中的 sentinel-dashboard 模块,也可以只下载 sentinel-dashboard 模块然后构建。
https://github.com/alibaba/Sentinel/
这里把完整的 sentinel 工程下载下来,然后构建 sentinel-dashboard 模块,首先在项目根目录下执行:
cd sentinel-dashboard
将会进入 dashboard 模块,然后在 dashboard 目录下执行:
mvn clean package
最终等到sentinel-dashboard.jar
使用如下命令启动sentinel
-
java -Dserver.port=8718 -Dcsp.sentinel.dashboard.server=localhost:8718 -Dproject.name=sentinel-dashboard -Dcsp.sentinel.api.port=8719 -jar sentinel-dashboard-1.6.0.jar
说明:
-Dserver.port=8718 控制台端口,sentinel控制台是一个spring boot程序。
客户端配置文件需要填对应的配置,如:
spring.cloud.sentinel.transport.dashboard=192.168.1.102:8718
-Dcsp.sentinel.dashboard.server=localhost:8718 控制台的地址,指定控制台后客户端会自动向该地址发送心跳包。
-Dproject.name=sentinel-dashboard 指定Sentinel控制台程序的名称
-Dcsp.sentinel.api.port=8719 (默认8719) 客户端提供给Dashboard访问或者查看Sentinel的运行访问的参数
注:
csp.sentinel.dashboard.server这个配置是用在客户端,这里Sentinel控制台也使用是用于自己监控自己程序的api,否则无法显示控制台的api情况,当然这个也可以根据情况不显示。
注:
-
csp.sentinel.api.port=8719是客户端的端口,需要把客户端设置的端口穿透防火墙,可在控制台的“机器列表”中查看到端口号,这里Sentinel控制台也使用是用于自己程序的api传输,由于是默认端口所以控制台也可以不设置。
-
客户端需向控制台提供端口,配置文件配置,如:spring.cloud.sentinel.transport.port=8720
-
控制台推送规则的日志在 :${user.home}/logs/csp/sentinel-dashboard.log 中,
-
客户端接收规则日志在 ${user.home}/logs/csp/record.log 中
-
启动配置wiki:
https://github.com/alibaba/Sentinel/wiki/启动配置项
-
spring cloud alibaba配置、整合feign、动态数据源支持 等的wiki:
https://github.com/spring-cloud-incubator/spring-cloud-alibaba/wiki/Sentinel