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项目,然后也没有什么配置,可以说搭建源码阅读环境是没有障碍的。

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

langchain4j+milvus实战

本文主要研究一下如何使用langchain4j来对接向量数据库milvus。

go4it 1472

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

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

一恍过去 1万+

CVPR 2024 LaTeX 模板实战:从匿名提交到图表排版的避坑指南

本文详细解析CVPR 2024 LaTeX模板的使用技巧,涵盖匿名提交设置、pdfLaTeX编译器选择、图表排版优化等关键环节。通过实战案例演示智能引用、公式编号、三线表制作等专业技巧,帮助研究者高效完成论文格式规范,规避常见排版错误。特别针对双栏格式下的图片定位、跨栏表格等复杂场景提供解决方案。

weixin_42561040的博客 453

HyperLynx VX2.5 实战:5分钟搞定LPDDR4X内存的批量仿真与报告分析

本文详细介绍了如何使用HyperLynx VX2.5进行LPDDR4X内存的批量仿真与报告分析,通过智能网络分组和并行计算技术,5分钟内即可完成全流程验证。文章涵盖工程准备、批量仿真配置、报告解析及典型问题解决方案,帮助工程师高效提升PCB仿真效率,确保移动设备内存接口的稳定性与性能。

weixin_42683394的博客 401

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

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

一恍过去 2万+

阿里巴巴达摩院人工智能训练师(高级)

阿里巴巴达摩院人工智能训练师(高级)

huang0612123的博客 1万+

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

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

feritylamb的博客 5299

大一Python之循环解决实际问题

pythin之循环解决实际问题

weixin_66263546的博客 2287

第七章-分布式搜索引擎-ES:全文查询、分词查询、精确查询、地理坐标查询、组合查询(bool、funtion_score)以及RestApi

111

weixin_36580930的博客 1632

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

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

ZXMSH的博客 1042

insightface scrfd人脸检测测试

pip install mmdet 自动安装mmcv win10上可以,服务器上没成功

jacke121的专栏 4022

【微服务】Sentinel 控制台

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

qq_57756904的博客 4020

骑砍2霸主MOD开发(9)-游戏大地图(MapScene)

Settlement类型由town,castle,castle_village,village,hideout五种类型组成,通过对GameEntity中添加tag实现类型的加载.大地图中军团(MobileParty)的移动速度,AI寻路,食物消耗等均和当前MobileParty所处地形有关,地形统一被定义为TerrainType,类型有森林,荒漠等.MapScene.Read("Main_map", ref sceneInitializationData, "") 装载Main_map大地图。

骑砍战团&霸主MOD开发 1623

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

安装sentinel控制台

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

ouYang的博客 3062

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

docker安装sentinel控制台

docker安装sentinel控制台

技术小站 2290

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

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
上一篇: 如何在不使用他人jar包的情况下优雅的进行dubbo调用
下一篇: 【无标题】
Java技术那些事儿
博客等级 码龄5年 2306粉丝 2584原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值