聊一聊Sentinel控制台

264 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 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

1612944052244.png

登录后,效果如下:

1612944185313.png

客户端需要引入 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控制台会多一个服务监控:

1612954120800.png

总结

本篇主要聊一下Sentinel控制台,聊了一下Sentinel控制台的安装,我这边是采用的docker安装方式。还聊了一下Gateway微服务网关接入Sentinel控制台,我们通过Sentinel控制台可以看到一个服务监控。大家有兴趣的话,可以自行去玩一下,增加一下印象。