我是个小菜鸡,写了一个系列,面向初学者,有什么错误忘大佬们及时指出加以改正,这个系列主要有eureka、ribbon、feign、hystrix、gateway,简单的搭建与使用
前三篇:
eureka:https://blog.csdn.net/weixin_42699857/article/details/103697462
ribbon:https://blog.csdn.net/weixin_42699857/article/details/103697524
feign:
https://blog.csdn.net/weixin_42699857/article/details/103734384
Hystrix
熔断器是什么呢,说这个之前我们先说一下springcloud的高并发
通过前两期已经搭建了一个简单的微服务,通过eureka作为服务注册和服务发现、ribbon实现负载均衡、feign优雅的调用,那么这个性能我们还需要测试一下,所以我们要测试一下
一、理论知识
1、 雪崩效应
如果在A的链路上某个或几个被调用的子服务不可用或延迟较高,则会导致调用A服务的请求被堵住。
堵住的请求会消耗占用掉系统的线程、io等资源,当该类请求越来越多,占用的计算机资源越来越多的时候,会导致系统瓶颈出现,造成其他的请求同样不可用,最终导致业务系统崩溃,又称:雪崩效应。
造成雪崩效应的原因
1.1.硬件故障
1.2.负载过大(如:抢红包,双十一)
1.3.代码问题
我们来模拟一下这个场景,依然用之前的代码做例子
OrderServer
prudectServer
我们先让这个睡两秒,现在我们在请求orderserver的http://localhost:9092/order/findAll路径,就发现
这个时间大概就是两秒多
那么现在我们就模拟了一个实际问题,orderserver调用另一个微服务,因为网络波动或者其他原因,这个接口存在返回比较慢这样的一个问题。
介绍一款性能测试工具 jmeter
apache-jmeter-5.2.1.zip 解压找到安装目录下的bin/jmeter.bar,以管理员身份启动
题外话,下载以后如果要汉化修改一下就可
1、 打开 \apache-jmeter-5.1.1\bin\jmeter.properties
2、 将第37行#language=en
3、 修改为language=zh_CN(注意去掉#)
4、 重启。
界面打开以后酱紫,有一个默认的测试计划,我们就直接在这里实验
然后我们给这个添加线程组
然后我们添加对应的http请求
然后我们再添加一个接过树