springcloud(11)Alibaba-AHAS 限流方式
前期准备
能正常启动的springboot项目
使用的中间件:HSF、edas-config-center
配置AHAS
1. 在项目的springboot中 添加jar包依赖
Pom
<!-- AHAS start--><!-- 应用接入控制台 --><dependency><groupId>com.alibaba.csp</groupId><artifactId>ahas-sentinel-client</artifactId><!-- 可指定版本号,最新版本见 AHAS 控制台流控降级应用接入页引导。 最新1.4.5--><version>1.4.5</version></dependency><!-- 启动方式①用JVM -D 参数启动 --><!-- 启动方式②用properties配置文件启动,需要引入此jar --><dependency><groupId>com.alibaba.csp</groupId><artifactId>spring-boot-starter-ahas-sentinel-client</artifactId><!-- 可指定版本号,最新版本见 AHAS 控制台流控降级应用接入页引导。 最新1.4.0--><version>1.4.0</version></dependency><!-- 使用注解@SentinelResource进行埋点 ,需要先引入 Spring AOP 并开启 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency><!-- 添加sentinel的依赖 --><dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-core</artifactId></dependency><dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-annotation-aspectj</artifactId></dependency><dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-transport-simple-http</artifactId></dependency><!-- AHAS end-->
相关介绍
ahas-sentinel-client | 相关springboot项目接入AHAS控制台的核心jar |
spring-boot-starter-ahas-sentinel-client |
使用applicaton.properties来配置属性,需添加此jar |
spring-boot-starter-aop | 使用注解@SentinelResource进行埋点 ,需要先引入 Spring AOP 并开启 |
sentinel-core | 阿里给的github示例demo中有引入此jar |
sentinel-annotation-aspectj | |
sentinel-transport-simple-http |
2. 在项目里添加配置类
@Configuration
public class SentinelAspectConfiguration {@Beanpublic SentinelResourceAspect sentinelResourceAspect() {return new SentinelResourceAspect();}
}
3. 在访问接口中使用注解定义埋点
@SentinelResource(value = "queryUserList")//埋点@RequestMapping(value = "/queryUserList" ,method = RequestMethod.GET )@ResponseBodypublic RspPage<QueryUserRspBo> queryUserList(QueryUserReqBo queryUserReqBo) {RspPage<QueryUserRspBo> rspPage = null;try {rspPage = queryUserListService.queryListPage(queryUserReqBo);}catch (Exception e){log.error("失败了:{}", e.getMessage());}return rspPage;}
4. 添加配置文件
application.properties
#AHAS
#指定您要接入的特定的 AHAS 环境
ahas.namespace=default
#自定义您的应用名称
project.name=admin
#配置 license 信息
ahas.license=XXXXXXXXXXXX
此处使用配置文件来填写配置信息,注意是在引入相关jar的前提下。
还可使用JVM 参数的方式来配置
-Dproject.name=AppName -Dahas.license=<license>
关于license 的获取,查看下面的步骤
5. 启动项目
配置阿里云控制台
1. 免费开通,ASAH的服务
https://www.aliyun.com/product/ahas?spm=a2c4g.11186623.2.9.6f4b3cbb7hGV9e
2. 将区域切换为 公网,获取license
点击 新应用接入
点击SDK,即可看到系统自动创建的license
3. 调用一次@SentinelResource 的接口,即可在页面看到springboot项目
4. 添加相关的限流规则
点击 应用名 admin
再点击【流控规则】
点击
填写相关信息,资源名称 对应 @SentinelResource 定义的value值
5. 启用规则,OK完成
还需了解其他相关信息,可参考其他博客:
https://blog.csdn.net/hosaos/article/details/91413895
springcloud(11)Alibaba-AHAS 限流方式相关推荐
- 【云原生微服务>SCG网关篇十二】Spring Cloud Gateway集成Sentinel API实现多种限流方式
文章目录 一.前言 二.Gateway集成Sentinel API 0.集成Sentinel的核心概念 1)GatewayFlowRule 和 ApiDefinition 2)GatewayFlowR ...
- 5种限流算法,7种限流方式,挡住突发流量?
大家好啊,我是阿朗,最近工作中需要用到限流,这篇文章介绍常见的限流方式. 文章持续更新,可以关注公众号程序猿阿朗或访问未读代码博客. 本文 Github.com/niumoo/JavaNotes 已经 ...
- 5种限流算法,7种限流方式,挡住突发流量
前言 最近几年,随着微服务的流行,服务和服务之间的依赖越来越强,调用关系越来越复杂,服务和服务之间的稳定性越来越重要.在遇到突发的请求量激增,恶意的用户访问,亦或请求频率过高给下游服务带来较大压力时, ...
- springboot工程中限流方式
限流,是防止用户恶意刷新接口.常见的限流方式有阿里开源的sentinel.redis等. 1.google的guava,令牌桶算法实现限流 Guava的 RateLimiter提供了令牌桶算法实现:平 ...
- SpringCloud Day12---SpringCloud Alibaba Sentinel 服务熔断与限流
文章目录 15. SpringCloud Alibaba Sentinel实现熔断与限流 15.1 概述 15.1.1 官网 15.1.2 介绍 15.1.3 去哪下 15.1.4 能干嘛 15.1. ...
- SpringCloud Alibaba Sentinel限流详解 这一次别在错过
点赞再看,养成习惯,微信搜索[牧小农]关注我获取更多资讯,风里雨里,小农等你,很高兴能够成为你的朋友. 项目源码地址:公众号回复 sentinel,即可免费获取源码 熔断规则 在上一篇文章中我们讲解了 ...
- springcloud中Gateway的限流熔断机制!
前言 目前,Spring Cloud Gateway是仅次于Spring Cloud Netflix的第二个最受欢迎的Spring Cloud项目(就GitHub上的星级而言).它是作为Spring ...
- 使用限流方式限制流量,完美应对高并发中请求暴涨难题
前言: 在大量并发的环境下,为了防止由于请求暴涨,导致系统崩溃从而引起雪崩,一般会对流量做一定的限制操作.比如等待.排队.降级.拒绝服务.限流等. 我们这节主要讲的是限流,限流的措施有很多,我这里分为 ...
- Alibaba Sentinel限流功能
以下文章来源方志朋的博客,回复"666"获面试宝典 前言 上周经历了合作方未按照约定在客户端进行缓存,以高QPS调用我这边某个接口的问题,当时带来的影响是接口RT变高,当时如果QP ...
最新文章
- Spring Boot 中的 @EnableAutoConfiguration 是如何处理的?
- Shell编程日常积累_20160114
- C语言两个日期比大小,C语言小程序 如何判断两个日期之差
- 手绘风格的数据可视化 (萌萌风)Sketchify,及其他可视化工具(商业风)
- leetcode 740. Delete and Earn | 740. 删除并获得点数(暴力递归->傻缓存->DP)
- Qt工作笔记-两种方法从容器中筛选出父类和子类(继承法、typeid法)
- VMware Esxi-5.1 简介与安装
- 未来网闸的发展趋势(实际应用需求,解决方案)
- 201671010133 2016-2017-2 《java程序设计》 初学java!
- 解析极限编程--Kent Beck, Cynthia Andres读后感
- ae计算机内存不足,解决电脑内存不足的解决方法|电脑内存不足怎么办
- C#中位枚举(Flags)
- 【代码记录】pytorch推理及与onnx推理精度对比
- AutoCAD与ArcGIS的5种集成方式
- 9.3 开发经验和屁股的关系——《逆袭大学》连载
- jdk-8u281/jdk-8u301 下载,Linux、Windows、Mac
- 2022年危险化学品经营单位主要负责人新版试题及危险化学品经营单位主要负责人考试技巧
- KFC - VME = 50
- linux编译安装nginx失败怎么办?排错思路及方法
- Python自动化谷歌浏览器
热门文章
- Lazarus Printer4Lazarus 组件打印
- android7.0修改系统默认时间
- 中山大学新华学院计算机在哪个校区,2021年中山大学新华学院有几个校区,大一新生在哪个校区...
- 嵌入式 ARM 编译器
- 国际化 i18n,前端切换中英文模式
- 关于Windows 7的声卡驱动的修复
- 地理国情监测整体理解
- 知道了为什么osg::impostor可以这样设置geometry的QUADS了
- sc9832e 增强mipi驱动能力
- 连不上局域网计算机一连就闪退,手机usb连不上电脑 连上了就闪退??