可视化限流管理,Sentinel 控制台启动和接入

Posted binyue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了可视化限流管理,Sentinel 控制台启动和接入相关的知识,希望对你有一定的参考价值。

Sentinel 的使用可以分为核心库和控制台两个部分。
核心库不依赖任何框架/库,集成了主流框架,可以进行单机限流降级等功能,
控制台Dashboard提供了可视化的管理限流规则、对集群进行监控,集群限流分配管理、机器发现等功能。

这篇博客学习 Sentinel 控制台的启动和接入。

一、控制台启动

控制台下载有两种方式,一种是直接下载编译好的release版本程序包,另一种是下载控制台的工程代码,在本地打包后启动。

直接下载release程序包

release 页面下载最新版本的控制台 jar 包。

最新的正式版本是v1.7.1。

通过代码构建

下载最新的 sentinel-dashboard 控制台工程,代码仓库地址 sentinel-dashboard

下载后,进入工程目录,通过Maven打包成一个可执行的 fat jar:

mvn clean package

构建和启动

使用如下命令启动控制台:

java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar

注意:启动 Sentinel 控制台需要 JDK 版本为 1.8 及以上版本。

其中,

-Dserver.port=8080 用于指定 Sentinel 控制台端口为 8080
-Dcsp.sentinel.dashboard.server 用于控制台对外暴露的服务地址

配置用户名和密码

从 Sentinel 1.6.0 起,Sentinel 控制台引入基本的登录功能,默认用户名和密码都是 sentinel。
技术图片

如果需要自行配置,可以通过如下参数进行调整:

-Dsentinel.dashboard.auth.username=sentinel 用于指定控制台的登录用户名为 sentinel;
-Dsentinel.dashboard.auth.password=123456 用于指定控制台的登录密码为 123456;如果省略这两个参数,默认用户和密码均为 sentinel;
-Dserver.servlet.session.timeout=7200 用于指定 Spring Boot 服务端 session 的过期时间,如 7200 表示 7200 秒;60m 表示 60 分钟,默认为 30 分钟;

查看控制台

控制台启动后,访问 localhost:8080,可以查看控制台。

技术图片

二、客户端接入控制台

这里我使用 spring.io 创建一个Spring Boot项目来进行演示,工程搭建步骤可以参考
十分钟快速创建 Spring Cloud 项目

引入依赖

客户端需要引入 Transport 模块来与 Sentinel 控制台进行通信。需要在 pom.xml 引入 JAR 包:

<dependency>
    <groupId>com.alibaba.csp</groupId>
    <artifactId>sentinel-transport-simple-http</artifactId>
    <version>1.7.1</version>
</dependency>

引入依赖后,在应用启动时需要添加,指定控制台地址和端口,可以通过添加启动JVM参数
或者配置文件两种方式。

配置控制台地址:添加JVM启动参数

启动时加入 JVM 参数 -Dcsp.sentinel.dashboard.server=consoleIp:port。
这里我把启动参数添加在Idea Configuration下的VM options中:
-Dcsp.sentinel.dashboard.server=192.168.43.120:8080

技术图片

配置控制台地址:修改Spring配置文件

这里我使用的是yaml方式,
技术图片

查看控制台

完成配置后,启动应用,刷新控制台,可在 Sentinel 控制台上看到对应的应用,机器列表页面可以看到对应的机器,后面教程会对 Sentinel 控制台功能和应用进行详细的解析

参考

Sentinel官方文档

以上是关于可视化限流管理,Sentinel 控制台启动和接入的主要内容,如果未能解决你的问题,请参考以下文章

sentinel限流实战

SpringCloud微服务:Sentinel哨兵组件,管理服务限流和降级

Spring Cloud Alibaba 之 Sentinel 限流规则和控制台实例

阿里巴巴宣布开源限流降级中间件——Sentinel

微服务保护--Sentinel

Sentinel 流量防卫兵-SpringCloudAlibaba No.4