首页 > 其他分享 >Sentinel产品功能介绍

Sentinel产品功能介绍

时间:2023-10-26 18:13:57浏览次数:39  
标签:功能 rule 介绍 sentinel dashboard jvm Sentinel csp

1.Sentinel产品功能介绍

Sentinel是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。

Sentinel 具有以下特性:

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

2.1服务端启动 sentinel-dashboard
下载 sentinel 源码 https://github.com/alibaba/Sentinel
启动 dashboard。 run DashboardApplication 的 main 方法,
登录 dashboard . 默认端口是 8080,默认账号密码是 sentinel、sentinel。这个可以在 application.properties 文件中配置。

刚开始这里是没有数据的。 等后续有限流数据上报这里才会有数据展示

2.2客户端应用接入 sentinel dashboard
引入 jar

com.alibaba.csp
sentinel-core
1.7.2-SNAPSHOT

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

示例代码:
下面的例子是一个简单的 qps 限流策略。

@RequestMapping("sentinel")
public String sentinel() {
initFlowRules();
String resourceName = "testSentinel";
Entry entry = null;
String retVal;
try {
entry = SphU.entry(resourceName, EntryType.IN);
retVal = "passed";
}catch(Exception e) {
retVal = "blocked";
}finally {
if(entry != null) {
entry.exit();
}
}

	return retVal;
	
}

private static void initFlowRules(){
    List<FlowRule> rules = new ArrayList<>();
    FlowRule rule = new FlowRule();
    rule.setResource("testSentinel");// 资源名称
    rule.setGrade(RuleConstant.FLOW_GRADE_QPS); //qps 降级
    rule.setCount(2); // 每秒 2次,超过2次就失败
    rules.add(rule);
    FlowRuleManager.loadRules(rules);
}

属性配置
属性可以通过 jvm 参数注入,也可以通过 classpath:sentinel.properties 配置。但是 project.name 这个当前版本只支持 jvm 参数注入,不支持配置在 sentinel.properties 文件里面。所以建议通过 jvm 注入。

jvm 参数注入:
-Dproject.name=sentinel-demo -Dcsp.sentinel.dashboard.server=127.0.0.1:8080 -Dcsp.sentinel.api.port=8081
sentinel.properties 里面

本地http服务端口

csp.sentinel.api.port=8081

dashboard 访问IP:port

csp.sentinel.dashboard.server=127.0.0.1:8080

客户端向dashboard 发送心跳包的时间间隔,单位毫秒

csp.sentinel.heartbeat.interval.ms=1000

当前版本 1.7 ,只能通过jvm 参数注入,不能配置在这里 -Dproject.name=sentinel-demo

project.name=sentinel-demo

更多参数配置见参考文档。

标签:功能,rule,介绍,sentinel,dashboard,jvm,Sentinel,csp
From: https://www.cnblogs.com/chenshaojun2008/p/17790037.html

相关文章

  • vue中实现上传 ,下载功能
    上传功能(包括上传图片,上传文件)使用element组件库https://element.eleme.cn/#/zh-CN/component/upload<el-upload class="avatar-uploader":disabled="isUpload"action="":show-file-list="false":before-upload="beforeUplo......
  • 运维平台规划体系全介绍
    识别运维平台的边界在哪儿,才能更好的构建平台,从而协助运维的日常工作。在之前的文章中,谈到过【运维的本质--可视化】,在可视化的篇幅中,着重介绍自动化的可视化和数据的可视化;在后续的篇章中又介绍了【互联网运维的价值体系】,里面分解了几个维度:质量、成本、效率、安全等。以上都是......
  • 信息搜索:全文搜索功能是网站运营的助力点
    产品界面通常采用高信息密度和高交互密度的设计,这是为了满足用户对多功能和复杂业务的需求。为了使用户能够快速获取所需信息并完成任务,产品中广泛使用各种搜索功能,无论大小都会有搜索功能,以提高用户的信息获取和消费效率。而全文搜索是搜索功能中体验更好的一种模式。全文搜索功能......
  • 导医导诊功能主要特点
        随着医疗技术的不断发展和进步,现代医疗体系已经越来越注重医疗质量和效率的提高。其中,智慧门诊作为一种新型的医疗模式,通过引入智能化技术,为患者提供更加便捷、高效和个性化的就医体验。本文将从智慧门诊的概念、特点、应用和未来发展方向等方面进行分析和探讨。一、智......
  • 安科瑞ACX系列电瓶车智能充电桩的功能介绍
    功能:●电瓶车智能桩具备语音播报功能。●电瓶车智能充电桩可支持刷卡、扫码两种付费充电模式,具体设备支付功能以订货要求为准。扫码充电功能需与云平台联网后使用。●电瓶车智能充电充电桩可以按时间或电量充电。●电瓶车智能充电桩最大可外接10路插座,每个插座只支持一台电瓶车......
  • FFmpeg 下载安装教程及介绍
    一、下载安装(1)进入官网 https://www.ffmpeg.org/ (2)根据自己的电脑选择对应系统进行点击。我选定是windows,选择下面出现的“Windowsbuildsfromgyan.dev”,  (3)在稳定版本中选择一个进行下载, 4)等待下载完成, (5)下载完成压缩文件之后,解压文件。(6)将bin文件夹添加到Wi......
  • Bluetooth SIG规划中的新功能简介
    原文https://mp.weixin.qq.com/s/VkgWb5odpoh0OemlkZW5Bw以下是当前正在进行的几个关键规范项目的概述[详细参考1]。更高频段(远)HFB (Higher Frequency Bands)目前正在进行一个规范开发项目是 Higher Frequency Bands,定义低功耗蓝牙@使用其他未经许可的频谱(包括6GHz频段......
  • Python requirements.txt安装用法介绍
    一、什么是requirements.txt文件在Python项目开发中,通常需要安装多个Python包。当我们在新的项目中启动一个虚拟环境,并且想要在新的虚拟环境中安装之前的依赖包时,就可以使用requirements.txt文件来完成。这个文件包含了所有需要安装的依赖包和其版本号。requirements.txt文件可以在......
  • 基于 ElementUi框架的 table组件制作的 报表功能
    <template><!--月周计划报表--><divclass="monthPlanForm"><el-table:data="tableData":span-method="spanMethod"style="width:100%"><el-table-columntype="index"widt......
  • Linux服务器远程文件拷贝两种方法介绍
    假设有两台linux服务器,如何将111.22.3.64上的/usr/local/example-server目录下的所有文件和目录拷贝到55.166.77.246的/usr/local/example-server目录下?  Linux服务器远程文件拷贝两种方法介绍要从一个Linux服务器拷贝文件到另一个Linux服务器,可以使......