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

相关文章
|
5月前
|
监控 算法 Java
高并发架构设计三大利器:缓存、限流和降级问题之配置Sentinel的流量控制规则问题如何解决
高并发架构设计三大利器:缓存、限流和降级问题之配置Sentinel的流量控制规则问题如何解决
|
6月前
|
Java Nacos Maven
Sentinel1.8.6更改配置同步到nacos(项目是Gateway)
Sentinel1.8.6 nacos springcloud springcloud-alibaba gateway
311 0
|
7月前
|
Prometheus Cloud Native 调度
Sentinel 新版本发布,提升配置灵活性以及可观测配套
Sentinel 新版本发布,提升配置灵活性以及可观测配套
1040 13
|
7月前
|
Java Nacos Sentinel
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
911 0
|
7月前
|
SpringCloudAlibaba 监控 Java
SpringCloud Alibaba Sentinel实现熔断与限流--学习笔记
SpringCloud Alibaba Sentinel实现熔断与限流--学习笔记
118 0
|
监控 Java API
sentinel 控制台用法
sentinel 控制台用法
157 0
|
消息中间件 监控 算法
springcloud整合Sentinel配置实战
springcloud整合Sentinel配置实战
|
监控 NoSQL Java
Redis-19Redis哨兵Sentinel模式-Centos6.5上3台主机1主2从3哨兵的配置及通过代码访问哨兵
Redis-19Redis哨兵Sentinel模式-Centos6.5上3台主机1主2从3哨兵的配置及通过代码访问哨兵
143 0
|
NoSQL Nacos Redis
RedisTemplateConfig sentinel(哨兵模式)/ cluster(集群模式) 常用配置 以及如何 一键配置切换
RedisTemplateConfig sentinel(哨兵模式)/ cluster(集群模式) 常用配置 以及如何 一键配置切换
RedisTemplateConfig sentinel(哨兵模式)/ cluster(集群模式) 常用配置 以及如何 一键配置切换
|
Sentinel
redisTemplete config sentinel(哨兵)模式 常用配置
redisTemplete config sentinel(哨兵)模式 常用配置