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

简介: Sentinel 的使用可以分为核心库和控制台两个部分。控制台Dashboard提供了可视化的管理限流规则、对集群进行监控,集群限流分配管理、机器发现等功能。

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。
默认端口是8719,我把启动参数添加在Idea Configuration下的VM options中:
-Dcsp.sentinel.dashboard.server=192.168.43.120:8719

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

这里我使用的是yaml方式,

查看控制台

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

目录
相关文章
|
6月前
|
Java 数据安全/隐私保护 Sentinel
面试官:Sentinel是如何实现限流的?
面试官:Sentinel是如何实现限流的?
776 1
|
5月前
|
监控 Java Sentinel
使用Sentinel进行服务调用的熔断和限流管理(SpringCloud2023实战)
Sentinel是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。
151 3
|
4月前
|
监控 算法 Java
高并发架构设计三大利器:缓存、限流和降级问题之配置Sentinel的流量控制规则问题如何解决
高并发架构设计三大利器:缓存、限流和降级问题之配置Sentinel的流量控制规则问题如何解决
|
5月前
|
SQL Oracle 关系型数据库
|
6月前
|
XML 监控 Dubbo
Dubbo03【管理控制台和监控中心搭建】,Java开发实用必备的几款插件
Dubbo03【管理控制台和监控中心搭建】,Java开发实用必备的几款插件
|
6月前
|
Java 数据安全/隐私保护 Sentinel
微服务学习 | Spring Cloud 中使用 Sentinel 实现服务限流
微服务学习 | Spring Cloud 中使用 Sentinel 实现服务限流
|
6月前
|
消息中间件 存储 数据库
RabbitMQ入门指南(二):架构和管理控制台的使用
RabbitMQ是一个高效、可靠的开源消息队列系统,广泛用于软件开发、数据传输、微服务等领域。本文主要介绍了RabbitMQ架构和管理控制台的使用等内容。
187 0
RabbitMQ入门指南(二):架构和管理控制台的使用
|
6月前
|
Dubbo 应用服务中间件 数据安全/隐私保护
Dubbo管理控制台
Dubbo管理控制台
|
6月前
|
SpringCloudAlibaba 监控 Java
SpringCloud Alibaba Sentinel实现熔断与限流--学习笔记
SpringCloud Alibaba Sentinel实现熔断与限流--学习笔记
108 0
|
6月前
|
监控 算法 Java
sentinel 服务限流工作原理
sentinel 服务限流工作原理