微服务项目雪崩的解决思路

雪崩的介绍

雪崩是微服务中某个服务挂了,无法返回请求,导致调用改服务的上层服务也故障,最终形成连锁反应,导致整个系统故障。

解决思路

一般有四种思路:

1.最简单的就是超时处理,即超过一段时间就返回错误信息,但在请求量很大时仍然会出现问题,只能延缓。

2.限流

3.隔离

4.熔断降级

限流

简单说是允许每秒有多少个请求发给某个服务,减少服务的压力,降低服务故障的可能,从而避免雪崩发生。

隔离

服务已经故障的情况下进行,给要调用的服务单独分配一个线程池(或者用信号量记录),既是要调用的服务故障,耗尽所有的资源,但不影响其他服务进行。

熔断降级

熔断:每秒查看一定数量的请求,如果被查看的请求超过一定量发生异常,将服务熔断,后面调用该服务的请求一律返回异常(速度很快)。超过一定时间后,尝试放行一次请求,如果异常,继续熔断,反之,将服务恢复正常。

降级:熔断后直接返回异常信息不太合适,可以返回一个降级的返回信息,提高体验。注意!因为要调用的服务已经熔断,降级的信息只能在上层服务中写。

相关推荐

  1. 服务项目雪崩解决思路

    2024-06-18 15:46:05       22 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-18 15:46:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-18 15:46:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-18 15:46:05       82 阅读
  4. Python语言-面向对象

    2024-06-18 15:46:05       91 阅读

热门阅读

  1. 通用大模型VS垂直大模型,你更青睐哪一方?

    2024-06-18 15:46:05       26 阅读
  2. 掌握数据提取与治理:构建数据驱动决策的基础

    2024-06-18 15:46:05       31 阅读
  3. vue3+wangeditor实现富文本

    2024-06-18 15:46:05       42 阅读
  4. 什么是模板字符串?

    2024-06-18 15:46:05       26 阅读
  5. 分数限制下,选好专业还是选好学校?

    2024-06-18 15:46:05       23 阅读
  6. MySQL修改分隔符

    2024-06-18 15:46:05       29 阅读
  7. vue2中实现记住密码功能

    2024-06-18 15:46:05       33 阅读
  8. 基于Python引擎的PP-OCR模型库推理

    2024-06-18 15:46:05       29 阅读
  9. 运维开发详解:从入门到精通

    2024-06-18 15:46:05       30 阅读
  10. Android使用data uri启动activity或service

    2024-06-18 15:46:05       28 阅读
  11. 【Sa-Token|2】Sa-Token在微服务中的使用

    2024-06-18 15:46:05       18 阅读