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

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

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

今日目标

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

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

1. 雪崩介绍

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

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

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

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

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

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

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

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

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

总结雪崩产生原因

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

2. 雪崩解决方案

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

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

2.1. 超时处理

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

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

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

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

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

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

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

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

2.4. 限流

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

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

3.总结

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

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

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

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

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

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

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

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

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

标签:
  • 热门焦点
  • 红魔电竞平板评测:大屏幕硬实力

    前言:三年的疫情因为要上网课的原因激活了平板市场,如今网课的时代已经过去,大家的生活都恢复到了正轨,这也就意味着,真正考验平板电脑生存的环境来了。也就是面对着这种残酷的
  • 石头智能洗地机A10 Plus体验:双向自清洁治好了我的懒癌

    一、前言和介绍专为家庭请假懒人而生的石头科技在近日又带来了自己的全新旗舰新品,石头智能洗地机A10 Plus。从这个产品名上就不难看出,这次石头推出的并不是常见的扫地机器
  • 6月iOS设备性能榜:M2稳居榜首 A系列只能等一手3nm来救

    没有新品发布,自然iOS设备性能榜的上榜设备就没有什么更替,仅仅只有跑分变化而产生的排名变动,毕竟苹果新品的发布节奏就是这样的,一年下来也就几个移动端新品,不会像安卓厂商,一
  • 让我们一起聊聊文件的操作

    文件【1】文件是什么?文件是保存数据的地方,是数据源的一种,比如大家经常使用的word文档、txt文件、excel文件、jpg文件...都是文件。文件最主要的作用就是保存数据,它既可以保
  • 多线程开发带来的问题与解决方法

    使用多线程主要会带来以下几个问题:(一)线程安全问题  线程安全问题指的是在某一线程从开始访问到结束访问某一数据期间,该数据被其他的线程所修改,那么对于当前线程而言,该线程
  • 深度探索 Elasticsearch 8.X:function_score 参数解读与实战案例分析

    在 Elasticsearch 中,function_score 可以让我们在查询的同时对搜索结果进行自定义评分。function_score 提供了一系列的参数和函数让我们可以根据需求灵活地进行设置。近期
  • 2天涨粉255万,又一赛道在抖音爆火

    来源:运营研究社作者 | 张知白编辑 | 杨佩汶设计 | 晏谈梦洁这个暑期,旅游赛道彻底火了:有的「地方」火了——贵州村超旅游收入 1 个月超过 12 亿;有的「博主」火了&m
  • 梁柱接棒两年,腾讯音乐闯出新路子

    文丨田静 出品丨牛刀财经(niudaocaijing)7月5日,企鹅FM发布官方公告称由于业务调整,将于9月6日正式停止运营,这意味着腾讯音乐长音频业务走向消亡。腾讯在长音频领域还在摸索。为
  • 华为开发者大会2023日程公开:开设鸿蒙HarmonyOS 4体验区

    IT之家 7 月 31 日消息,华为今日公布了 HDC.Together 开发者大会 2023 的详细日程。整场大会将于 8 月 4 日-6 日之间举行,届时将发布最新一代鸿蒙 H
Top