美文网首页
微服务保护机制及测试方法

微服务保护机制及测试方法

作者: 软件开发技术修炼 | 来源:发表于2025-06-26 20:23 被阅读0次

一、微服务保护机制

请求限流,降低了并发上限;
线程隔离,降低了可用资源数量;
服务熔断,降低了服务的完整度,部分服务变的不可用或弱可用。

因此这些方案都属于服务降级的方案。但通过这些方案,服务的健壮性得到了提升。

1.1.请求限流

请求限流往往会有一个限流器,数量高低起伏的并发请求曲线,经过限流器就变的非常平稳。
这就像是水电站的大坝,起到蓄水的作用,可以通过开关控制水流出的大小,让下游水流始终维持在一个平稳的量。

请求限流图
1.2.线程隔离

当一个业务接口响应时间长,而且并发高时,就可能耗尽服务器的线程资源,导致服务内的其它接口受到影响。
所以我们必须把这种影响降低,或者缩减影响的范围。线程隔离正是解决这个问题的好办法。

线程隔离的思想来自轮船的舱壁模式:轮船的船舱会被隔板分割为N个相互隔离的密闭舱,假如轮船触礁进水,只有损坏的部分密闭舱会进水,而其他舱由于相互隔离,并不会进水。

线程隔离
1.3.服务熔断

线程隔离虽然避免了雪崩问题,但故障服务(商品服务)依然会拖慢购物车服务(服务调用方)的接口响应速度。而且商品查询的故障依然会导致查询购物车功能出现故障,购物车业务也变的不可用了。

所以,我们要做两件事情:

01- 编写服务降级逻辑:就是服务调用失败后的处理逻辑,根据业务场景,可以抛出异常,也可以返回友好提示或默认数据。
02- 异常统计和熔断:统计服务提供方的异常比例,当比例过高表明该接口会影响到其它服务,应该拒绝调用该接口,而是直接走降级逻辑。

熔断机制

二、Sentinel技术

微服务保护的技术有很多,但在目前国内使用较多的还是Sentinel。
Sentinel 的使用可以分为两个部分: 核心库(Jar包)控制台(Dashboard)

sentinel

所谓簇点链路,就是单机调用链路,是一次请求进入服务后经过的每一个被Sentinel监控的资源。默认情况下,Sentinel会监控SpringMVC的每一个Endpoint(接口)。

1.1. 请求限流,簇点链路做限流配置参数,验证
image.png
1.2. 线程隔离,设置参数,验证

第一步,修改设置

默认情况下SpringBoot项目的tomcat最大线程数是200,允许的最大连接是8192,单机测试很难打满。
故需修改配置参数为最大线程50,最大连接数100。

第二步,配置线程隔离

勾选的是并发线程数限制,也就是说这个查询功能最多使用5个线程,而不是5QPS。如果查询商品的接口每秒处理2个请求,则5个线程的实际QPS在10左右,而超出的请求自然会被拒绝。

限流结果

相关文章

  • 微服务--服务保护机制

    1.熔断机制 1.是什么? 在微服务中,在访问某一目标服务并发量超过该应用的上限,服务请求堵塞,导致其他依赖服务无...

  • Eureka的服务实例删除

    看过我自我保护机制或者其他的应该都会知道,当服务实例处于网络故障而掉线会触发自我保护机制,而使服务实例不会在Eur...

  • 微服务安全测试的关键——接口安全机制

    在微服务测试过程中,关于接口的功能和性能测试目前有很多解决方案,而对于接口的安全机制以及其测试方法并没有太多的资料...

  • 价格战已逝,服务竞争成为继电保护测试仪器最佳的选择

    随着继电保护测试仪器市场的经济变化,继电保护测试仪行业的形式渐渐稳定,于是服务竞争便成为了继电保护测试仪器企业格战...

  • 安全测试(1)- 概念及常用术语

    什么是安全测试? •验证集成在系统内的保护机制是否能够在实际中保护系统不受到非法入侵 •安全性测试是有关验证应用程...

  • runTime 机制及测试

    一、runtime翻译过来称为运行时,与之对应的是编译时。大部分的iOS开发人员,都听过runtime这个词,也知...

  • 微服务--eureka

    本文的目录结构:1、概念2、服务端和客户端之间的服务注册信息获取3、服务端的自我保护机制4、服务端的缓存机制5、e...

  • 面试2

    A、测试基础 1、测试理论及流程(测试类型及优缺点,流程及细节) 2、测试思想(测试设计方法等) 3、测试场景设计...

  • 44.SVN、Git版本控制服务器

    一、安装SVN 服务SVN启动及创建测试代码 二、搭建GIT服务器及使用

  • [A book a week] 恰如其分的自尊

    只关注P246~273 保护自尊的心理调节方法 01 性质:应如何看待心理防御机制 心理防御机制是短期保护自尊的手...

网友评论

      本文标题:微服务保护机制及测试方法

      本文链接:https://www.haomeiwen.com/subject/fccafjtx.html