| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> SpringCloud.服务限流与熔断 -> 正文阅读 |
|
[大数据]SpringCloud.服务限流与熔断 |
在昨天的基础上增加代码 一、限流
1、Gateway限流的实现①、pom.xml(gateway) 降版本,
Spring Cloud Gateway
官方提供了
RequestRateLimiterGatewayFilterFactory
类,使用
redis
和
lua
脚本来实现令牌桶的方式。
导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis-reactive</artifactId> </dependency>
②、application.yml
添加
redis
配置 :
如果
redis
连接失败,限流功能将不能开启。因为没有
redis
作为容器来保存令牌,限流功能自然就失效了。
可以将
redis
的配置信息保存到
nacos
中,通过添加
nacos
配置中心客户端的方式进行读取
③、增加请求限流配置类 RequestRateLimiterConfig :
④、application.yml 关掉自定义配置
添加限流配置
- name: RequestRateLimiter args: #用于限流的键的解析器的 Bean 对象的名字,使用 SpEL表达式根据#{@beanName}获取Bean对象 key-resolver: '#{@ipAddrKeyResolver}' #令牌桶填充速率,允许用户每秒处理多少个请求 redis-rate-limiter.replenishRate: 10 #令牌桶总容量,允许在一秒钟内完成的最大请求数 redis-rate-limiter.burstCapacity: 20 注掉这个依赖,与版本有问题,这个依赖是用来读取远程nacos配置 ?⑤、测试从网关访问 说明我们已经通过网关访问到消费者了 ?2、压力测试
解压: ①、apache-jmeter-5.2.1->bin->双击打开:jmeter.bat 改为中文 ??②、进行压力测试 添加线程组,模拟多个人去访问 ?并不知道运作的对象是谁,所以添加HTTP请求 ?添加查看请求结果: ?③、进行压力测试 HTTP请求中点击启动:选择no ?表格查看运行结果:代码中允许访问人数为10人,最大访问人数为20人,超过允许访问请求就会变为红色: 二、熔断
1、增加熔断的依赖2020版左右的idea熔断就已经停止了,可以进行降版本操作,还可以进行 sentinel (史上最全+入门教程) - 疯狂创客圈 - 博客园 降级操作在上面就已经写好了 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId> </dependency> 2、application.yml增加熔断配置
3、新建TestController类
4、测试①、正常访问 ?②、关闭消费者服务服务 ?熔断成功 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 11:09:45- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |