当前位置: 首页 > news >正文

部署 Sentinel 控制台:实现流量管理和监控

序言

Sentinel 是阿里巴巴开源的一款流量防护与监控平台,它可以帮助开发者有效地管理微服务的流量,实现流量控制、熔断降级、系统负载保护等功能。本文将介绍如何在项目中部署和配置 Sentinel 控制台,实现微服务的流量防护和监控。

一、Sentinel 控制台部署流程

  1. 官网下载 Sentinel 控制台

    image.png

  2. 启动 Sentinel 控制台

    java \
    # 指定 Sentinel 控制台的端口为 8080
    -Dserver.port=8080 \
    # 配置 Sentinel 控制台的地址
    -Dcsp.sentinel.dashboard.server=localhost:8080 \
    # 指定 Sentinel 控制台的项目名称
    -Dproject.name=sentinel-dashboard \
    # 指定启动的 Java 应用程序的 JAR 文件
    -jar sentinel-dashboard.jar
    
  3. 打开浏览器输入网址 localhost:8080 进入 Sentinel 控制台。Sentinel 控制台需要登录,账号和密码默认都是 sentinel

    image.png

二、微服务整合 Sentinel

  1. 引入依赖

    <dependencyManagement><dependencies><!-- spring-cloud-alibaba 依赖版本 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2021.0.5.0</version><type>pom</type><scope>import</scope></dependency><!-- spring-boot 依赖版本 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>2.7.15</version><type>pom</type><scope>import</scope></dependency></dependencies>
    </dependencyManagement><!-- 引入 sentinel 依赖 -->
    <dependency><groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
    </dependency>
    
  2. application.yml 文件中编写 Sentinel 配置

    spring:cloud: sentinel:transport:# 指定 dashboarddashboard: localhost:8080
    
  3. 访问微服务接口

    # 使用 curl 命令访问自定义 user-service 服务的 /test/helo 接口
    curl localhost:1920/test/helo
    

    多次访问之后的效果:

    image.png

三、流量监控和管理

3.1 流量监控

在这里插入图片描述

在 Sentinel 控制台的实时监控页面,同一个服务下的所有机器的簇点信息会被汇总,并且秒级地展示在 “实时监控” 页面。默认情况下,实时监控仅存储 5 分钟以内的数据,如果需要持久化,需要通过调用实时监控接口来定制。

3.2 流量管理

在这里插入图片描述

Sentinel 控制台提供简单的规则管理以及推送的功能。开发人员可以根据具体的业务需求添加相应的规则实现流量的管理(其中流量管理包括流量控制、熔断降级、热点参数限流、来源访问控制等)。

四、FAQ

  1. Sentinel 控制台所在的机器时间需要与应用的机器时间保持一致,否则会导致拉不到实时的监控数据。

  2. Sentinel 控制台定义的规则仅保存在内存中,控制台重启之后,规则将会丢失。

  3. 在使用 Sentinel 时,注意 spring-bootspring-cloud-alibaba 的版本兼容关系。版本兼容关系,可参考下图或官网。

    image.png

推荐阅读

  1. Docker Compose:简化多容器应用部署
  2. cURL:命令行下的网络工具
  3. RabbitMQ(Docker 单机部署)
  4. 深入理解 Java 并发:AbstractQueuedSynchronizer 源码分析
  5. 深入了解 Arthas:Java 应用程序诊断利器
http://www.lryc.cn/news/348812.html

相关文章:

  • 10、Go Gin 连接Redis以及CookieSession
  • Electron-Vue 脚手架避坑实录,兼容Win11,升级electron22,清理控制台错误
  • 国外新闻媒体推广:多元化媒体分发投放-大舍传媒
  • 【Windows】回忆Win98
  • 探索QChart:Qt中的数据可视化艺术
  • 【Linux】线程机制解析:理解、优势与Linux系统应用
  • java中简单工厂模式,工厂方法模式和抽象工厂模式的区别和联系?
  • SERVER_DOWN 表示该服务器已经宕机或无法访问
  • 深度论证-高速走线控制100欧姆阻抗一定是最好的选择吗?
  • 【文末福利送资料】深度探索GPT模型,竟然10个字都不会说?
  • 一些近来对内网攻防的思考
  • 数据结构--顺序表和链表的区别
  • 【技术分享】 OPC UA安全策略证书简述
  • 【Neo4jJDK开箱即用的安装全流程】
  • Linux 操作系统多路IO复用
  • 读取shape文件中数据
  • 基于STM32F401RET6智能锁项目(使用库函数点灯、按键)
  • 网络层协议之 IP 协议
  • SpringBoot 实现对提供的接口进行 AES (加密,解密)
  • ASP.NET学生成绩管理系统
  • 谁考了第k名C++
  • 多线服务器的优势有哪些?
  • vue + element-plus 开发中遇到的问题
  • 使用java远程提交flink任务到yarn集群
  • 麻了!新增4.1分,CCF-C类,2区毕业神刊,被标记On Hold!
  • tomcat 的启动流程
  • YOLOv9全网最新改进系列::YOLOv9完美融合双卷积核(DualConv)来构建轻量级深度神经网络,目标检测模型有效涨点神器!!!
  • PCIE协议-2-事务层规范-MEM/IO/CFG request rules
  • jmeter分布式集群压测
  • 美国加州正测试ChatGPT等生成式AI,在4大部门应用