Sentinel源码1-源码环境搭建(控制台)

Spring Cloud Alibaba Sentinel 限流 一、Sentinel简介 是什么:   Spring Cloud Alibaba Sentinel 是面向于云原生微服务的高可用流控防护组件,主要以流量为切入点,从流量控制、熔断降级、系统自适应保护等多个维度来帮助用户保障微服务的稳定性。 一句话解释,就是之前学习过的 Hystrix 升级版。 二、安装并运行Sentinel 去哪下载?   先访问 Sentinel 的 GitHub 地址:https://github.com/alibaba/Sentinel,找到并单击 releases 菜单:https 阅读详情

1.sentinel介绍

对于sentinel的介绍,我们这里先引入官方的说法

分布式系统的流量防卫兵 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。

然后来看看它的特性:

  • 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。
  • 完备的实时监控:Sentinel 同时提供实时的监控功能。您可以在控制台中看到接入应用的单台机器秒级数据,甚至 500 台以下规模的集群的汇总运行情况。
  • 广泛的开源生态:Sentinel 提供开箱即用的与其它开源框架/库的整合模块,例如与 Spring Cloud、Dubbo、gRPC 的整合。您只需要引入相应的依赖并进行简单的配置即可快速地接入 Sentinel。
  • 完善的 SPI 扩展点:Sentinel 提供简单易用、完善的 SPI 扩展接口。您可以通过实现扩展接口来快速地定制逻辑。例如定制规则管理、适配动态数据源等。

sentinel 分为2部分:

  1. 控制台(Dashboard)基于 Spring Boot 开发,打包后可以直接运行,不需要额外的 Tomcat 等应用容器。也就是是控制台,能够实时监控各个资源的流量情况,同时提供各种规则的配置。
  2. 另一部分核心库(Java 客户端)不依赖任何框架/库,能够运行于所有 Java 运行时环境,同时对 Dubbo / Spring Cloud 等框架也有较好的支持。包括对规则的检查,各种统计指标都是在这个里面做的,我们后续的源码解析也就是在这里展开
    需要更详细介绍的请移步官方文档:链接

关于sentinel的主要功能其实从它的Dashboard控制台里面就能知道:

  • 流量控制: 对某个资源的qps ,并发线程数进行控制,提供了快速失败,预热启动,匀速排队各种流控方式。
  • 降级控制: 可以根据某个资源的rt,异常比例,异常数各种策略进行降级。
  • 热点控制: 这个就是对某个资源的热点参数进行流控
  • 系统控制:这个就是对整个服务进行控制,控制类型有:系统负载,rt,入口qps,并发线程数
  • 权限控制:这个就是黑白名单的限制
  • 集群控制:从集群的角度对资源进行控制

2. 源码环境搭建

首先,去sentinel官网下载源码,我下载的是1.8版本的源码。

sentinel是个maven项目,我们介绍下它的各个子项目都是干啥的:

  • sentinel-adapter:这个对各种框架进行适配的,就是sentinel流控的一个入口,提供了各种adapter,dubbo,servlet,zuul,springcloud gateway等等。
  • sentinel-benchmark:这个子项目是sentinel基准测试相关的东西,这个我们可以先不关心它
  • sentinel-cluster:集群相关的
  • sentinel-core:这个子项目是需要我们重点关注的,里面包括了对资源各个各项指标的统计与规则检查
  • sentinel-dashboard:这个是sentinel控制台Dashboard源码,是个springboot项目,可以直接启动。
  • sentinel-demo:提供了对各个框架集成使用sentinel的demo,在这里面你能看到各种各样的demo。

  • sentinel-extension: sentinel一些扩展,有关于数据源的一堆,有热点参数流控。
  • sentinel-transport: 这个就是控制台Dashboard与各个客户端通信的,有简单http,netty-http

3. 控制台搭建

3.1 配置

这是一个 Spring Boot 工程, 在下载的 zip 文件的解压目录的如下目录中修改配置文件。 默认的端口为8080,这个端口一般都冲突,我们修改端口号: 文件路径如下: sentinel-relaease-1.8\sentinel-dashboard\src\main\resources\application.properties

3.2 打包

在命令行窗口中进入到解压目录根目录,执行打包命令,跳过 test 阶段。

mvn clean package -Dmaven.test.skip=true
复制代码

打包结束后,进入到解压目录下的 sentinel-dashboard 目录下的 target 目录。 该 目录下有个 sentinel-dashboard.jar 文件。该 Jar 包文件即为 管理控制台的 运行文件,可以将其放到任意目录下运行。

3.3 启动管控台

将 sentinel-dashboard.jar 文件存放到任意目录下,直接运行。

java -Dserver.port=8081 -Dcsp.sentinel.dashboard.server=localhost:8081 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar
复制代码

3.4 访问

在浏览器地址栏中输入 http://localhost:8081/#/dashboard/home ,即可看到 管控平台的登录界面。

4. 总结

我们本篇初步介绍了一下sentinel,sentinel其实就是一款流量控制的框架,能够保证我们系统在面对突来大流量的时候不被冲倒,保证系统运行安全,之后我们介绍了一下sentinel源码阅读环境的搭建,sentinel就是个maven项目,然后也没有什么配置,可以说搭建源码阅读环境是没有障碍的。

参考文章

Sentinel1.8.5源码github地址(注释)
Sentinel源码解析
Sentinel官网


 

Sentinel系列-Sentinel控制台(dashboard) Sentinel 控制台 概述 Sentinel 提供一个轻量级的开源控制台,它提供服务发现以及健康情况管理、监控(单机和集群),规则管理和推送的功能。另外,鉴权在生产环境中也必不可少。这里,我们将会详细讲述如何通过简单的步骤就可以使用这些功能。 Sentinel 控制台包含如下功能: 查看机器列表以及健康情况:收集 Sentinel 客户端发送的心跳包,用于判断服务是否在线。 监控 (单机和集群聚合):通过 Sentinel 客户端暴露的监控 API,定期拉取并且聚合应用监控信息,最终可以实现秒级的实时 阅读详情

相关推荐

Sentinel 控制台集成 Nacos 实现规则配置双向同步和持久化存储(提供改造后源码)

Sentinel 控制台集成 Nacos 实现规则配置双向同步和持久化存储(提供改造后源码)

kerwin的博客 2766

SpringCloud之Sentinel(一)

  Sentinel组件承担了流量防卫兵的职责,主要用来限流与熔断。它提供了dashboard(仪表盘),让开发者能够可视化配置,简化操作。

gs2436的博客 410

阿里Sentinel开源控制台接入

阿里Sentinel开源控制台接入 包含如下功能: 查看机器列表以及健康情况:收集 Sentinel 客户端发送的心跳包,用于判断机器是否在线。 监控 (单机和集群聚合):通过 Sentinel 客户端暴露的监控 API,定期拉取并且聚合应用监控信息,最终可以实现秒级的实时监控。 规则管理和推送:统一管理推送规则。 鉴权:生产环境中鉴权非常重要。这里每个开发者需要根据自己的实际情况进行定制。 注意:Sentinel控制台目前仅支持单机部署。 启动控制台的方式有两种: 从 release 页面下载最新版

github yx9o Apache RocketMQ & ShardingSphere Committer 1128

Sentinel源码解析之源码阅读环境搭建

原创不易,转载请注明出处 文章目录前言1.sentinel介绍2.源码环境搭建总结 前言 从本篇开始我们将更新关于sentinel源码解析的文章,本篇主要是介绍下sentinel是什么,以及sentinel的主要功能,然后搭建源码阅读环境 1.sentinel介绍 对于sentinel的介绍,我们这里先引入官方的说法 分布式系统的流量防卫兵 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。 然后.

猿上生活 1472

sentinel-dashboard-1.8.7.jar

sentinel-dashboard-1.8.7.jar,github经常打不开,下载了好几天才下载下来,给大家分享下

Sentinel-1.8.6

Sentinel 介绍 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。

阿里Sentinel控制台源码修改-对接Apollo规则持久化

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34126557的博客 642

深入解析UDS 0x19服务:DTC状态掩码与故障诊断实战

本文深入解析了UDS诊断协议中的核心0x19服务(ReadDTCInformation),重点拆解了DTC状态掩码(DTCStatusMask)的八个状态位及其在故障生命周期中的联动逻辑。通过实战案例,详细说明了从故障发生、确认到清除的全过程,并介绍了如何利用该服务进行深度诊断,包括读取扩展数据(如冻结帧)和避免常见开发误区,是理解汽车ECU故障管理机制的关键。

weixin_29248313的博客 323

Sentinel(二)Docker搭建Sentinel 控制台环境搭建及使用介绍

Sentinel(二)Docker搭建Sentinel 控制台环境搭建及使用介绍

一恍过去 1万+

WhatsApp网页版扫码分析

扫码登录本质上是WhatsApp的多设备登录,设备之间可以独立运行,那么当我们首次通过WhatsApp扫码登录二维码时,到底发生了那些事情?交换了那些数据?

SocialMarketing的博客 5230

【SigmaStar SSC335系列】空片用Flash_Tool烧写

简介 本文主要讲新拿到的PCBA,板上spi nand flash还是空的,如何在这种情况下烧录固件,这里讲解用官方Flash_Tool烧写的方式。 但只讲一些注意的地方和坑,其它的官方文档里说的比较清楚,不多说。 准备 Flash_Tool烧写软件 编译打包好烧写镜像 串口烧录小板 ----- 这个是个坑,在官方文档里并没有提及,刚开始用的平时调试的USB转串口,怎么都没反应,一度不知烧写软件不对还是硬件有问题,最后通过厂家技术支持才得知,除了专门的Flash_Tool外,还要专门的串口烧录器

老K 4699

Sentinel(一)Linux搭建Sentinel 控制台环境搭建及使用介绍

Sentinel(一)Linux搭建Sentinel 控制台环境搭建及使用介绍

一恍过去 2万+

携程景点评论数据爬取实战:破解AJAX动态加载与分页参数逆向分析

本文详细介绍了携程景点评论数据爬取的实战经验,重点破解了AJAX动态加载与分页参数逆向分析的技术难题。通过分析`getCommentCollapseList`接口,解析动态参数如`poiId`和`pageIndex`,并实现分页逻辑,帮助开发者高效获取评论数据。文章还提供了完整的Python爬虫代码和反爬策略,适用于数据分析与内容挖掘。

weixin_29098367的博客 674

Docker搭建Sentinel 控制台环境搭建及使用介绍

在机器列表中看到的连接到sentinel的机器,并且展示监控状况簇点链路(单机调用链路)页面实时的去拉取指定客户端资源的运行情况。它一共提供两种展示模式:一种用树状结构展示资源的调用链路,另外一种则不区分调用链路展示资源的实时情况。簇点链路监控是内存态的信息,它仅展示启动后调用过的资源。同一个服务下的所有机器的簇点信息会被汇总,并且秒级地展示在"实时监控"下。需要确保 Sentinel 控制台所在的机器时间与自己应用的机器时间保持一致,否则会导致拉不到实时的监控数据。

feritylamb的博客 5299

学习笔记【Day 20】鸿蒙PC应用在SD WAN MSTP场景用CodeArts test工具测试过程

多生成树协议(MSTP)作为二层网络高可靠、无环路的核心技术,其在鸿蒙 PC 上的兼容性与稳定性测试尤为重要。本文结合华为云 CodeArts TestPlan 全流程测试管理平台,详细拆解鸿蒙 PC 端 MSTP 功能的测试设计、环境搭建、执行验证。1.测试左移,保障迭代效率CodeArts TestPlan 将 MSTP 测试从后期集成阶段 “左移” 至开发早期,通过可复用用例库与自动化脚本,支持每次代码提交后的快速回归测试,避免网络功能稳定性因迭代被破坏。2.平台化工具破解复杂场景测试难题。

aiyijianghe的博客 1058

《QGIS快速入门与应用基础》230:添加图例工具

本文系统讲解QGIS图例制作的核心方法与优化技巧。首先强调图例与地图框的绑定逻辑,提出三种绑定状态及适用场景。详细拆解三种图例添加方法:布局工具栏一键添加法(新手首选)、菜单栏添加法和右键快捷创建法,并给出单地图框和多地图框两种典型场景的规范技巧。重点解决新手常见的图例杂乱、样式不规范、内容脱节等问题,帮助用户从基础图例制作进阶到符合行业标准的专业图例设计。通过分步操作图示和实用技巧,使读者能够快速掌握图例创建的核心流程与优化方法。

LuckyHanMo的博客 549

【微服务】Sentinel 控制台

Sentinel 提供一个轻量级的开源控制台,它提供机器发现以及健康情况管理、监控(单机和集群),规则管理和推送的功能。这里,将会详细讲述如何通过简单的步骤就可以使用这些功能。

qq_57756904的博客 4020

Chrome DevTools MCP 实战完整教程

本教程介绍了Chrome DevTools MCP(Model Context Protocol)在智能Web测试中的应用。该系统通过MCP协议将Chrome开发者工具能力标准化,并与AI结合,提供了统一的测试解决方案。核心功能包括智能自动化、深度调试分析和性能监控优化。教程详细讲解了环境搭建、MCP服务器配置、参数说明及多种工具集(输入自动化、导航、设备仿真、性能分析等)的使用方法。通过mcp-use库的MCPAgent和MCPClient组件,用户可以轻松实现自然语言驱动的浏览器操作和测试流程管理。

blues_C的博客 3805

Sentinel源码解析-源码环境搭建

本文会讲解如何搭建Sentinel源码调试环境,以方便更好的debug源码,如果对sentinel还不了解的话,可以先参考官方文档:Sentinel官方文档 这里controller提供的两个api都会去调用TestService,我们的流控规则也定义在testService中 这里方法都通过SentinelResource注解来标注成一个资源,并指定了资源名和callback方法和处理BlockException的handler。 我们运行DemoApplication,启动这个demo服务。这里d

ZXMSH的博客 1042

如何在白平衡标定种构建不同类型的白平衡色温坐标系

以各家芯片方案的白平衡色温坐标系为切入点,详细介绍了各家芯片色温坐标系构建的理论依旧;并解析了不同色温坐标系下的物理含义,提提出了多种不同的色温坐标系

大熊 959

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

安装sentinel控制台

安装sentinel控制台 文章目录安装sentinel控制台下载启动修改登录信息 前面我们结束了nacos的注册中心和配置中心的基础知识,以及Ribbon和Feign的简单使用,接下来我们学习一下alibaba的流量防卫兵–sentinel。在使用sentinel之前,我们先安装一下sentinel的管理控制台-- sentinel-dashboard 。 下载 地址:https://gith...

ouYang的博客 3062

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

docker安装sentinel控制台

docker安装sentinel控制台

技术小站 2290

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

docker运行sentinel、Docker打包Sentinel 镜像、控制台环境搭建及使用介绍

docker运行sentinel、sentinel镜像制作,docker镜像制作

create_bj的博客 3024

alibaba-sentinel控制台

alibaba-sentinel控制台sentinel控制台安装和服务连接Sentinel 介绍Sentinel 控制台安装Sentinel 控制台springcloud项目接入到sentinel控制台启动微服务设置控流服务接入到sentinel控制台后性能的影响 sentinel控制台安装和服务连接 Sentinel 介绍 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。 Se...

weixin_37677822的博客 4493
上一篇: 我从外包辞职了,10000小时后,走进字节跳动拿了offer
下一篇: Java架构师人手一份的Spring Cloud Alibaba笔记,疯转上万次
程序员职业指南
博客等级 码龄4年 2136粉丝 960原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值