sentinel 控制台控制客户端配置 | 学习笔记

简介: 快速学习 sentinel 控制台控制客户端配置

开发者学堂课程【精通 Spring Cloud Alibabasentinel 控制台控制客户端配置学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/634/detail/10156


sentinel 控制台控制客户端配置


目录:

一、秒杀项目怎么连接到控制台

二、抛出异常


一、秒杀项目怎么连接到控制台

Sentinel:

Transport:

Dashboard:127.0.0.1:8718(地址8718

Eager:true

将以上内容运行到秒杀服务,项目就可以整合到控制台了。

就会出现 meitemayikt-order 这样就整合成功了。

优化代码:

@requestmapping(/seckill)

Public string secking(long userid, long orderid) {

Return”秒杀成功”(对接口的限流实现了完全动态)

运行起来:

现在没有配备秒杀规则,所以可以无限访问,把秒杀规则给它配置好,找到热点规则,这个地方会有一个8719的这个端号(8718属于界面端口号 8719属于 api 通讯的端口号)

所以在这边我们可以配置一个规则,在这还是需要一个注解,叫做 sentinelresources 的注解,然后这个注解会写入你的资源名称:@sentinelresourcesvalue =SEKILL_RULE),运行。

在控制台中的热点规则里设置热点参数流规则

资源名:seckill

限流模式:QPS 模式

参数索引:0

单机阈值:1   统计窗口时长:1

是否集群:否

现在会把规则刷新到秒杀服务中

1.png

这时候秒杀服务如果重启的话,那么这个规则就会消失。

这时就可以把规则持久化到这个 nacos 里面,秒杀服务项目启动的时候,连接 nacos 里面拿到新规则。

Sentinel 控制台只会读取秒杀内存,这样就能保持数据一致重启后还在。


二、抛出异常

新建:

资源名:seckill

限流模式:QPS 模式

参数索引:0

单机阈值:1   统计窗口时长:1

是否集群:否

运行;秒杀失败会抛出异常

Whitelabel Error Page

This application has no explicit mapping for /error, so you are seeing this as afallback.

Mon Feb 17 21:46:02 CST 2020

There was an unexpected error (type=Internal Server Error, status=500).

No message available

如果被限流就会抛出异常。一般限流的情况下会走 blockhandler 的方法。走服务器会走 fallback 方法。

将代码改成这样也不会成功:

public String blockHandlerFallback (Long userId, Long orderId)

Return "当前该用户访问频率过多,请稍后重试!"

此时新建热词规则:

资源名:seckill

限流模式:QPS模式

参数索引:0

单机阈值:1  统计窗口时长:1

是否集群:否

还是会抛出异常:

Whitelabel Error Page

This application has no explicit mapping for /error, so you are seeing this as afallback.

Mon Feb 17 21:46:02 CST 2020

There was an unexpected error (type=Internal Server Error, status=500).

No message available

方法的参数列表与原函数一定要保持一致。包括访问类型也需要保持一致。

限流会抛出异常,那么想要改变一行提醒,怎么做?

我们可以专门去捕获异常 paramflowexception,只要是这样绝对是热词限流。这时候写一个全局的捕获异常

@RestControllerAdvice

public class InterfaceExceptionHandler{

@ResponseBody

@ExceptionHandler(ParamFlowException.class)

Public String business Interface Exception (ParamFlowExceptione)

return

"您当前访问的频率过高,请稍后重试!";

重启即可解决问题。

将时间单机阈值改长,改为10,说明一秒钟可以走10

相关文章
|
3月前
|
Java 应用服务中间件 HSF
Java应用结构规范问题之配置Logback以在控制台输出日志的问题如何解决
Java应用结构规范问题之配置Logback以在控制台输出日志的问题如何解决
|
4月前
|
存储 运维 监控
函数计算产品使用问题之如何在控制台配置HTTP触发器并使用HTTP请求触发
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
4月前
|
监控 算法 Java
高并发架构设计三大利器:缓存、限流和降级问题之配置Sentinel的流量控制规则问题如何解决
高并发架构设计三大利器:缓存、限流和降级问题之配置Sentinel的流量控制规则问题如何解决
|
5月前
|
Java Nacos Maven
Sentinel1.8.6更改配置同步到nacos(项目是Gateway)
Sentinel1.8.6 nacos springcloud springcloud-alibaba gateway
267 0
|
6月前
|
Prometheus Cloud Native 调度
Sentinel 新版本发布,提升配置灵活性以及可观测配套
Sentinel 新版本发布,提升配置灵活性以及可观测配套
998 12
|
6月前
|
Java Nacos Sentinel
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
803 0
|
6月前
|
SpringCloudAlibaba 监控 Java
SpringCloud Alibaba Sentinel实现熔断与限流--学习笔记
SpringCloud Alibaba Sentinel实现熔断与限流--学习笔记
108 0
|
6月前
|
NoSQL 开发工具 数据库
基于Python开发的学生信息管理系统控制台程序(源码+可执行程序exe文件+程序配置说明书+程序使用说明书)
基于Python开发的学生信息管理系统控制台程序(源码+可执行程序exe文件+程序配置说明书+程序使用说明书)
|
监控 Java API
sentinel 控制台用法
sentinel 控制台用法
142 0
|
C语言 C++
VSCODE配置C环境以及豆沙绿背景并且开启外部控制台以及解决中文乱码
VSCODE配置C环境以及豆沙绿背景并且开启外部控制台以及解决中文乱码
254 0