当前位置:首页 > 科技  > 软件

解密微服务雪崩:保护您的应用免受灾难性故障的威胁

来源: 责编: 时间:2023-10-06 19:19:56 459观看
导读今日目标了解雪崩产生的原因理解常见解决方案随着微服务架构的广泛应用,应用程序的复杂性已经得到了显著提高,但与之同时,微服务雪崩问题也开始引起广泛关注。微服务雪崩是指在微服务架构中,一个或多个微服务出现故障或不

今日目标

  • 了解雪崩产生的原因
  • 理解常见解决方案

随着微服务架构的广泛应用,应用程序的复杂性已经得到了显著提高,但与之同时,微服务雪崩问题也开始引起广泛关注。微服务雪崩是指在微服务架构中,一个或多个微服务出现故障或不可用时,导致整个系统的不稳定甚至崩溃。本文将介绍微服务雪崩的产生原因以及一些常见的解决方案。VQ628资讯网——每日最新资讯28at.com

1. 雪崩介绍

微服务中,服务间调用关系错综复杂,一个微服务往往依赖于多个其它微服务。VQ628资讯网——每日最新资讯28at.com

图片图片VQ628资讯网——每日最新资讯28at.com

如图,如果服务提供者I发生了故障,当前的应用的部分业务因为依赖于服务I,因此也会被阻塞。此时,其它不依赖于服务I的业务似乎不受影响。VQ628资讯网——每日最新资讯28at.com

图片图片VQ628资讯网——每日最新资讯28at.com

但是,依赖服务I的业务请求被阻塞,用户不会得到响应,服务器的这个线程不会释放,于是越来越多的用户请求到来,越来越多的线程会阻塞:VQ628资讯网——每日最新资讯28at.com

图片图片VQ628资讯网——每日最新资讯28at.com

服务器支持的线程和并发数有限,请求一直阻塞,会导致服务器资源耗尽,从而导致所有其它服务都不可用,那么当前服务也就不可用了。VQ628资讯网——每日最新资讯28at.com

那么,依赖于当前服务的其它服务随着时间的推移,最终也都会变的不可用,形成级联失败,雪崩就发生了:VQ628资讯网——每日最新资讯28at.com

图片图片VQ628资讯网——每日最新资讯28at.com

总结雪崩产生原因

  • 依赖关系复杂性: 在微服务架构中,各个服务之间存在复杂的依赖关系。如果一个服务出现故障,它可能会导致依赖于它的其他服务也无法正常工作。
  • 大规模部署: 大规模部署意味着有大量的服务实例在运行,当其中一部分实例出现问题时,整个系统可能受到影响。
  • 同时故障: 有时,多个服务可能因相同的原因(如硬件故障、网络问题或配置错误)而同时故障,导致雪崩效应。
  • 超时和重试: 如果某个服务在请求时长时间未响应,其他服务可能会发起重试请求,导致更多的负载,最终导致系统崩溃。
  • 资源耗尽: 当某个服务的资源(如数据库连接、线程池)被过度消耗时,它可能会无法响应请求,从而引发雪崩。

2. 雪崩解决方案

雪崩解决常见解决方案有以下几种:VQ628资讯网——每日最新资讯28at.com

  • 超时处理:对于每个微服务的请求,应该设置合理的超时时间。超时时间应该充分考虑服务的响应时间和业务需求,以避免等待时间过长导致的问题
  • 舱壁模式(Bulkhead Pattern for Avalanche):系统遇到雪崩风险时,通过隔离不同服务或组件,以防止一个故障或高负载情况影响整个系统的稳定性。是一种应对潜在雪崩的设计模式
  • 限流(Rate Limiting): 限流可以控制对服务的请求速率,确保不会超出服务的处理能力。这可以防止流量过多而导致系统崩溃
  • 熔断器模式(Circuit Breaker Pattern):熔断器模式是一种容错模式,用于避免雪崩效应。熔断器会监控服务的健康状态,当服务连续出现故障或响应时间超过阈值时,熔断器会打开,阻止进一步的请求流量流向该服务,从而保护系统的稳定性
  • 降级策略(Fallback): 降级是一种处理服务不可用或性能下降的策略,它允许系统在出现问题时提供有限但稳定的功能,而不是完全失败。当服务出现问题时,降级策略可以返回默认值、缓存数据、执行备用操作或者提供一个基本的响应,以确保用户仍然能够访问系统的一部分功能

2.1. 超时处理

针对服务调用增加超时机制(一般dubbo默认30s),一旦超时自动释放资源,因释放资源较快一定程度可抑制资源耗尽问题。但如果在超时释放的时间内陡增大量请求,依然会导致服务宕机不可用。VQ628资讯网——每日最新资讯28at.com

图片图片VQ628资讯网——每日最新资讯28at.com

2.3. 熔断器模式(Circuit Breaker Pattern)

熔断器模式:由熔断器统计业务执行的异常比例,如果超出阈值则会熔断该业务,拦截访问该业务的一切请求。VQ628资讯网——每日最新资讯28at.com

熔断器会统计访问某个服务的请求数量,异常比例VQ628资讯网——每日最新资讯28at.com

图片图片VQ628资讯网——每日最新资讯28at.com

当发现访问服务D的请求异常比例过高时,认为服务D有导致雪崩的风险,会拦截访问服务D的一切请求,形成熔断:VQ628资讯网——每日最新资讯28at.com

图片图片VQ628资讯网——每日最新资讯28at.com

2.4. 限流

限流:限制业务访问的QPS,避免服务因流量的突增而故障。VQ628资讯网——每日最新资讯28at.com

图片图片VQ628资讯网——每日最新资讯28at.com

3.总结

雪崩问题:VQ628资讯网——每日最新资讯28at.com

  • 微服务之间相互调用,因为调用链中的一个服务故障,引起整个链路都无法访问的情况。

解决方案:VQ628资讯网——每日最新资讯28at.com

限流是对服务的保护,避免因瞬间高并发流量而导致服务故障,进而避免雪崩。是一种预防措施。VQ628资讯网——每日最新资讯28at.com

超时处理、线程隔离、降级熔断是在部分服务故障时,将故障控制在一定范围,避免雪崩。是一种补救措施。VQ628资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-12139-0.html解密微服务雪崩:保护您的应用免受灾难性故障的威胁

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 十个事半功倍的IntelliJ Idea插件和主题

下一篇: WPF中静态资源和动态资源区别?

标签:
  • 热门焦点
  • 之家push系统迭代之路

    前言在这个信息爆炸的互联网时代,能够及时准确获取信息是当今社会要解决的关键问题之一。随着之家用户体量和内容规模的不断增大,传统的靠"主动拉"获取信息的方式已不能满足用
  • 深度探索 Elasticsearch 8.X:function_score 参数解读与实战案例分析

    在 Elasticsearch 中,function_score 可以让我们在查询的同时对搜索结果进行自定义评分。function_score 提供了一系列的参数和函数让我们可以根据需求灵活地进行设置。近期
  • 使用Webdriver-manager解决浏览器与驱动不匹配所带来自动化无法执行的问题

    1、前言在我们使用 Selenium 进行 UI 自动化测试时,常常会因为浏览器驱动与浏览器版本不匹配,而导致自动化测试无法执行,需要手动去下载对应的驱动版本,并替换原有的驱动,可能还
  • 从零到英雄:高并发与性能优化的神奇之旅

    作者 | 波哥审校 | 重楼作为公司的架构师或者程序员,你是否曾经为公司的系统在面对高并发和性能瓶颈时感到手足无措或者焦头烂额呢?笔者在出道那会为此是吃尽了苦头的,不过也得
  • 每天一道面试题-CPU伪共享

    前言:了不起:又到了每天一到面试题的时候了!学弟,最近学习的怎么样啊 了不起学弟:最近学习的还不错,每天都在学习,每天都在进步! 了不起:那你最近学习的什么呢? 了不起学弟:最近在学习C
  • 小红书1周涨粉49W+,我总结了小白可以用的N条涨粉笔记

    作者:黄河懂运营一条性教育视频,被54万人“珍藏”是什么体验?最近,情感博主@公主是用鲜花做的,火了!仅仅凭借一条视频,光小红书就有超过128万人,为她疯狂点赞!更疯狂的是,这
  • 共享单车的故事讲到哪了?

    来源丨海克财经与共享充电宝相差不多,共享单车已很久没有被国内热点新闻关照到了。除了一再涨价和用户直呼用不起了。近日多家媒体再发报道称,成都、天津、郑州等地多个共享单
  • 华为发布HarmonyOS 4:更好玩、更流畅、更安全

    在8月4日的华为开发者大会2023(HDC.Together)大会上,HarmonyOS 4正式发布。自2019年发布以来,HarmonyOS一直以用户为中心,经历四年多的发展HarmonyOS已
  • 三星电子Q2营收60万亿韩元 存储业务营收同比仍下滑超过50%

    7月27日消息,据外媒报道,从三星电子所发布的财报来看,他们主要利润来源的存储芯片业务在今年二季度仍不乐观,营收同比仍在大幅下滑,所在的设备解决方案
Top