开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 18 天,点击查看活动详情
每日英语:
Life is what happens to you while you are busy making other plans.
生活就是当你忙于制定其他计划时发生的事情。 -约翰·列侬
Sentinel控制台
Sentinel 控制台是流量控制、熔断降级规则统一配置和管理的入口,它为用户提供了机器自发现、簇点链路自发现、监控、规则配置等功能。在 Sentinel 控制台上,我们可以配置规则并实时查看流量控制效果。
Sentinel控制台安装
Sentinel 提供一个轻量级的开源控制台,它提供机器发现以及健康情况管理、监控(单机和集群),规则管理和推送的功能。
Sentinel 控制台包含如下功能:
- 查看机器列表以及健康情况:收集 Sentinel 客户端发送的心跳包,用于判断机器是否在线。
- 监控 (单机和集群聚合):通过 Sentinel 客户端暴露的监控 API,定期拉取并且聚合应用监控信息,最终可以实现秒级的实时监控。
- 规则管理和推送:统一管理推送规则。
- 鉴权:生产环境中鉴权非常重要。这里每个开发者需要根据自己的实际情况进行定制。
Sentinel控制台安装可以基于jar包启动的方式安装,也可以基于docker安装,为了方便操作,我们这里采用docker安装方式:
docker run --name sentinel -d -p 8858:8858 -d bladex/sentinel-dashboard
安装好了后,我们可以直接访问http://192.168.100.130:8858访问控制台,默认用户名和密码都是 sentinel:
登录后,效果如下:
客户端需要引入 Transport 模块来与 Sentinel 控制台进行通信,可以通过 pom.xml 引入 JAR 包:
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-transport-simple-http</artifactId>
<version>x.y.z</version>
</dependency>
如果是SpringBoot工程接入Sentinel,可以直接引入如下依赖包:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
接入控制台
我们将Gateway微服务网关接入Sentinel控制台,首先引入依赖包:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
在核心配置文件中配置Sentinel服务地址
spring:
cloud:
sentinel:
transport:
port: 8719
dashboard: 192.168.100.130:8858
这里的 spring.cloud.sentinel.transport.port 端口配置会在应用对应的机器上启动一个 Http Server,该 Server 会与 Sentinel 控制台做交互,比如限流规则拉取。
此时我们出发一些请求操作,再看Sentinel控制台会多一个服务监控:
总结
本篇主要聊一下Sentinel控制台,聊了一下Sentinel控制台的安装,我这边是采用的docker安装方式。还聊了一下Gateway微服务网关接入Sentinel控制台,我们通过Sentinel控制台可以看到一个服务监控。大家有兴趣的话,可以自行去玩一下,增加一下印象。