热点规则|学习笔记

简介: 快速学习热点规则

开发者学堂课程【全面讲解 Spring Cloud Alibaba 技术栈(知识精讲+项目实战)第二阶段:热点规则】学习笔记与课程紧密联系,让用户快速学习知识

课程地址:https://developer.aliyun.com/learning/course/684/detail/11877


热点规则

 

内容介绍

一、编写代码

二、热点参数规则的简单应用

 

一、编写代码

(1) 热点规则的含义

热点规则也叫热点参数流控规则,他是一种更细粒度的流控规则,它允许我们将流控规则,具体到参数的级别上。

(2) 编写代入参数的方法

如果想将流控规则作用于参数上,首先需要准备一个编写参数的方法,接下来我们编写一个方法让他代入参数。

@RequestMapping(“/or der/message3”)

@Sentine]Resorce(“message3”)//注意这里必须使用这个注解标识,热点规则不生效

Public string message3(string name,integer age){return

name+age;}

注意先将

i++;

If(i%3==0){throw new RuntimeException();}

删除然会将

@RequestMapping(“/order/message2”)

Public string message2()

//orderserviceImpl3.message();

return“message2”

拷贝出来将其中“2”改成“3”

并去掉//orderserviceImpl3.message();

Publicstring message3( )的“()”添加参数string name,integer age

然后在  return“message3”后添加+name+age注意必须在@RequestMapping(“/order/message3”)后添加注解@Sentne1Resource(“message3”)这个注解的作用,用来标识一个资源,这里必须要加,不加没有办法配热点规则。代码到这里配写完毕。

 

二.热点参数规则的简单应用

(1)访问参数

启动代码

访问 localhost:8091/order/messag3 并添加name=hm,发现 hm 已经得到。

之后再次访问 localhost:8091/order/messag3 并添加 age=14之后刷新之后发现2个参数都可以访问

(2)对参数进行热点规则限流

点开簇点线路,注意 message 必须配置在刚才自定义的资源上。找到热点规则,限流模式必须是 QPS 模式。参数索引指我们方法的(string name,integer age)该位置的缩影值。

image.png

比如说:name 是0,age 是1.在参数索引选项上写0就表示对 name 进行限流,此时,单机阈值改成3,统计窗口市长1秒,点击新增,完成后刷新,发现限流生效。

反过来观察 age,并刷新,并没有任何限制。证明我们对于 name 的限流可以生效了。

接下来,对 age 也进行添加在 name原有基础上将参数索引改成1,再次刷新,发现 age 已经限流。

(3)热点规则限流的详细指定

点击编辑页面,新增页面是看不到的,找到热点规则,点击编辑,点开高级选项,允许对参数额外添加选项。

image.png

将上述 age=14 限流,添加age=15不限流,首先参数类型为 int 将参数值改为15,限流阈值随意更改如10000,点击添加,发现新增一个规则,点击保存。

之后刷新 localhost:8091/order/messag3age=15,发现成功,这便是将流控规则细化到参数数值上。

相关文章
|
存储 JSON Shell
Grafana 系列文章(三):Tempo- 使用 HTTP 推送 Spans
Grafana 系列文章(三):Tempo- 使用 HTTP 推送 Spans
Grafana 系列文章(三):Tempo- 使用 HTTP 推送 Spans
|
XML Java 应用服务中间件
一文了解Tomcat
Tomcat是一个开放源代码的Java Servlet容器,它实现了Java Servlet和JavaServer Pages(JSP)规范。由于Tomcat是一个Java应用程序,它可以在多个操作系统上运行,如Windows、Linux和Mac OS等。Tomcat的主要作用是提供一个运行Java Web应用程序的环境。它可以处理从客户端发送的HTTP请求,并将请求传递给相应的Java Servlet或JSP进行处理。Servlet和JSP是用Java编写的服务器端组件,用于生成动态的Web内容。
1129 4
|
传感器 机器学习/深度学习 人工智能
AI视频监控卫士技术介绍:智能化河道管理解决方案
AI视频监控卫士系统,通过高清摄像头、智能传感器和深度学习技术,实现河道、水库、城市水务及生态保护区的全天候、全覆盖智能监控。系统能够自动识别非法行为、水质变化和异常情况,并实时生成警报,提升管理效率和精准度。
1051 13
|
SQL 关系型数据库 数据库
实时计算 Flink版产品使用问题之如何同步一个数据库的数据转换到另一个库
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
通过ping命令查询域名对应的ip信息
通过ping命令查询域名对应的ip信息
978 0
|
监控 关系型数据库 MySQL
Flink cdc报错问题之读取mysql报错如何解决
Flink CDC报错指的是使用Apache Flink的Change Data Capture(CDC)组件时遇到的错误和异常;本合集将汇总Flink CDC常见的报错情况,并提供相应的诊断和解决方法,帮助用户快速恢复数据处理任务的正常运行。
|
消息中间件 存储 Java
RabbitMQ中的消息持久化是如何实现的?
RabbitMQ中的消息持久化是如何实现的?
411 0
|
监控 数据安全/隐私保护
基于钉钉的阿里云管理实践(一)之账号绑定
在企业日常运营中,通常都需要对阿里云的资源进行管理,对云资源的运行情况进行监控。而钉钉作为一款企业内部沟通协作工具,其与阿里云的结合使用能够提升企业管理效率,实现资源统一管理。 本教程将指导您如何将钉钉账号与阿里云账号进行绑定,以便于更高效地进行资源管理和接收监控告警。
658 0
|
JavaScript 前端开发
使用 Vue 3 框架编写的简单日历组件
使用 Vue 3 框架编写的简单日历组件
1052 0
|
XML Java 数据格式
Spring中bean的初始化和销毁几种实现方式详解
Spring中bean的初始化和销毁几种实现方式详解
419 0