• jmeter压力测试工具,雪崩效应,容错组件Sentinel


    一。jmeter测试工具:

    概念:

    项目要上线,肯定是需要进行压力测试的

    可以测试服务器够不够

    场景:

    • 一个问题,如果有服务接口被阻,那另一个接口是否会有影响

    •  进而引出了jmeter,用来模拟线程压力
    • 下载jmeter,解压缩之后,在bin目录下修改jmeter.properties这个文件
    • 用jmeter要求必须配置好jdk的环境变量
    • 启动jmeter
    • 然后现在来使用jmeter操作

    • 先添加线程组
    • 线程组下右键http请求
    • 请求下添加查看结果树
    • 给压力测试,可以发现速度确实慢了

    二.雪崩效应:

    服务故障不可避免,但是决不能因为局部故障导致大面积的服务瘫痪,容错是为了通过某些手段尽可能的减小发生故障的概率,以及就算发生了故障也不至于扩散开来,目的是提高整体微服务架构的可用性,做到“雪落而不雪崩”

    常见的容错思路:

    隔离
    指的是在服务内部,对一些业务进行划分,尽量减少故障线程耗尽所有服务线程资源。
    常见的隔离手段有:线程池隔离、信号量隔离

    超时
    设置最大响应时间,避免线程资源占用过久

    限流
    限制请求的数量,一旦达到阈值,就拒绝额外的请求进入服务,保护服务节点的正常、平稳的运行。

    熔断
    当下游服务因为访问压力过大而响应变慢或失败,上游服务为了保护系统整体可用性,可以暂时切断对下游服务的调用,即牺牲局部,保全整体。
    熔断分为三种状态:关闭、开启、半熔断。关闭:服务没有故障时熔断器所处的状态,对调用方的调用无任何限制;开启:后续对该接口的调用不再经过网络,直接执行本地的 fallback 方法;半熔断:尝试恢复服务调用,允许有限的流量调用该服务,并监控调用成功率,如果达到预期,进入熔断关闭状态,若未达预期,则重新进入开启状态。

    降级
    托底方案,如果微服务调用失败,如超时,就执行降级方案。

    到这里我们就需要需了解一些常用的容错组件

    • Hystrix

    • resilience4j

    • Sentinel   阿里开源的一个断路器

    • Sentinel   的使用

  • 相关阅读:
    RocketMQ部署
    如何批量给视频添加logo水印?
    Time-weighted dynamic time warping (TWDTW) method
    python矩阵最近邻填充替换
    ELFK集群部署与Logstash的过滤模块
    nodejs+vue备忘记账系统-计算机毕业设计
    多层全连接网络:实现手写数字识别50轮准确率92.1%
    yolox转rknn
    递归思想
    嵌入式Linux运行一定需要MMU吗
  • 原文地址:https://blog.csdn.net/qq_60555957/article/details/127449121