`
lvjun106
  • 浏览: 436166 次
  • 性别: Icon_minigender_1
  • 来自: 芜湖
社区版块
存档分类
最新评论

微服务中的舱壁模式

 
阅读更多
舱壁模式(Bulkhead)隔离了每个工作负载或服务的关键资源,如连接池、内存和CPU。
使用舱壁避免了单个工作负载(或服务)消耗掉所有资源,从而导致其他服务出现故障的场景。
这种模式主要是通过防止由一个服务引起的级联故障来增加系统的弹性。

工业中使用舱壁将船舶划分为几个部分,以便在船体破坏的情况下,可以将船舶各个部件密封起来。

舱壁的概念在软件开发中可以被应用在隔离资源上。

通过应用舱壁模式,我们可以保护有限的资源不被耗尽。例如,对于一个有连接数限制的数据库实例来说,如果我们有两种连接它的操作,我们采用可以采用两个连接池的方式进行连接,来代替仅采用一个共享连接池的方式。由于这种客户端与资源进行了隔离,超时或过度使用池的操作页不会使其他操作失败。

泰坦尼克号沉没的主要原因之一是其舱壁设计失败,水可以通过上面的甲板倒在舱壁的顶部,导致整个船体淹没。

场景说明

让不同任务请求通过自个专门的线程池请求到各自微服务,像舱壁一样对资源进行隔离; 假设这么个场景,在应用中你需要使用REST通过HTTP连接五个不同的微服务,使用一个普通的线程池去维持这些连接,如果五个服务中其中一个服务由于某种原因出现异常,所有的池成员都将精疲力尽的等待服务器响应,为了最大限度地减少的影响,它始终是一个很好的做法,定制个性化服务话服务始终是一个号的做法。这可以减少某个异常影响对其他服务的影响,从而使您的应用程序其他部分继续执行。这种模式俗称的舱壁。
下图描述了实施舱壁的简单的示例场景:在左侧,微服务A,用同一个连接池去请求X和Y两个服务。如果服务X或服务的Y其中任何一个行为异常,这会影响连接池的整体行为。如果舱壁模式实现,如该图所示的右侧,即使微服务X被错误操作,只有池X将受到影响。微服务Y可以继续为应用程序提供服务.

总结

舱壁模式降低依赖服务对整个系统的影响,保护有限的资源不被耗尽,增加了系统得到弹性。

分享到:
评论

相关推荐

    01-微服务限流容错之Sentinel详解 微服务资料.pdf

    总之,微服务架构中,通过限流容错机制如超时设置、舱壁隔离和断路器模式等来保护系统免受单点故障的影响,确保整个系统的高可用性和稳定性。Sentinel作为阿里巴巴开源的一款微服务流量控制组件,提供了这些机制的...

    SpringCloud微服务之揭开微服务的面纱.pptx

    - **弹性设计**:包括负载均衡、断路器机制、回退策略以及舱壁模式,确保系统在高负载或故障时仍能正常运行。 - **安全设计**:确保服务之间的认证、授权,以及凭证的安全管理和传播。 - **日志和跟踪**:日志关联和...

    第四节 微服务限流容错之Sentinel(上)1

    接下来是舱壁隔离模式,它借鉴了船舶设计中的舱壁隔离原理。在代码中,我们可以通过为不同的服务类分配独立的线程池来实现这一模式,确保一个服务的故障不会影响其他服务。例如,M 类使用线程池1,N 类使用线程池2,...

    高级Java人才培训专家-微服务保护

    在现代软件开发中,随着微服务架构的普及,如何有效地管理和保护这些微服务成为了开发者关注的重点之一。微服务架构下,系统由多个独立部署的服务组成,这虽然带来了更高的灵活性和可扩展性,但也增加了系统复杂性和...

    微服务服务容错架构设计.docx

    Hystrix是Netflix开源的一个实现熔断器模式的组件,广泛应用在微服务的优雅降级中。 最后,回退策略是针对各种异常情况的处理方式。快速失败策略直接抛出异常,适用于非关键服务;故障沉默则返回默认值或空数据,...

    传统 .net应用向微服务架构迁移的实践经验

    在当今快速变化的IT环境中,传统 .NET 应用向微服务架构的迁移已经成为许多企业和项目必须面对的挑战。本文将分享一个名为X项目的实践经验,该项目是一个基于.NET构建的复杂远程实验交付系统。随着业务需求的增长和...

    项目四钢质船舶规范法结构设计舱壁结构设计.pptx

    【钢质船舶规范法结构设计】中的【舱壁结构设计】是船舶建造中至关重要的一环,它涉及到船舶的安全性、稳定性和经济性。本部分详细介绍了舱壁的分类、受力情况、布置和结构设计等多个方面。 首先,舱壁按照用途和密...

    不锈钢槽型舱壁机器人焊接应用.pdf

    本文主要探讨了不锈钢槽型舱壁在化学品船中的焊接应用,特别是采用机器人焊接集成系统的实践与优化。在当前的化学品船制造过程中,不锈钢槽型舱壁因其耐腐蚀性和强度特性而得到广泛应用。然而,传统的手工焊接方法在...

    平面舱壁类型的船舱点云分割方法_杨泽鑫1

    RANSAC是一种常用的数据拟合算法,能有效识别并剔除异常值,从而准确找到数据中的主要模式。 在实际应用中,通过选取两组不同结构的船舱点云数据进行验证,实验结果显示,该方法能快速、准确地自动分割出主要构件...

    行业分类-设备装置-一种抗爆、防火、绝缘、降噪的海洋平台舱壁结构.zip

    标题中的“行业分类-设备装置-一种抗爆、防火、绝缘、降噪的海洋平台舱壁结构”揭示了这个主题是关于海洋工程领域的创新技术,具体聚焦于海洋平台的舱壁设计。这种舱壁结构旨在提供多重安全保障,包括抵抗爆炸冲击、...

    行业分类-设备装置-用于细分飞机或航天器的耐压舱壁和方法.zip

    在航空和航天领域,耐压舱壁是设计与制造中的关键元素,它们确保飞行器在极端环境下保持结构完整性和乘客安全。本主题聚焦于“用于细分飞机或航天器的耐压舱壁和方法”,旨在探讨如何有效地设计和构建这些至关重要的...

    一种设有纵向制荡舱壁的独立液舱结构的制作方法.docx

    【一种设有纵向制荡舱壁的独立液舱结构的制作方法】 在液化气运送技术领域,液化气船的设计和建造是至关重要的。现有的液化气船液舱通常采用左右两个独立舱室,配备有水密的纵舱壁和横向制荡舱壁,以保证结构强度和...

    了解spring中的CloudNetflix Hystrix弹性客户端

    总之,Spring Cloud Netflix Hystrix作为客户端弹性模式的重要实现,通过断路器、后备和舱壁模式,有效地提高了微服务架构的健壮性,使得系统能够在面对故障时保持弹性,为构建高可用的分布式系统提供了强大的支持。...

    Spring cloud Feign 深度学习与应用详解

    在舱壁模式中可以隔离每个远程资源,并分配各自的线程池,使之互不影响。 Hystrix 是一个可靠的、延迟感知、 fault-tolerant 的库,用于 isolating points of access to remote systems、services and 3rd party ...

    行业资料-交通装置-一种改进的客车发动机机舱舱壁结构.zip

    行业资料-交通装置-一种改进的客车发动机机舱舱壁结构.zip

    电影Mvc舱壁亚当

    电影Mvc舱壁亚当是一个可能与电影相关的项目,其名称暗示了这可能是一个关于电影管理的软件系统,而“Mvc”通常指的是Model-View-Controller架构模式,这是一种广泛应用于Web开发的设计模式。在这个项目中,“Mvc”...

    行业资料-交通装置-一种救生舱无热桥高效隔热防护舱壁.zip

    行业资料-交通装置-一种救生舱无热桥高效隔热防护舱壁.zip

    潜艇内部平台对舱壁支持作用的对比试验 (2009年)

    为了研究平台对舱壁的支撑作用,针对以内部平台取代水平桁作为一级支持构件的潜艇平面舱壁结构形式,设计制作了两个平台强度不一样的舱段模型。然后,分别对两个模型进行静水压力试验,测量了其应力和承载能力。模型试验...

    结构参数改变对舱壁结构振动影响的研究 (2012年)

    舱壁结构是否合理直接影响到舱壁甚至整个潜艇的振动性能,为得到合适的舱壁结构参数,分别以舱壁板厚度、骨材数量、骨材截面大小为变化参数,以振动的均方法向速度为衡量振动优劣的标准,得到不同参数对应的舱壁振动...

    爆炸冲击载荷下耐压鞍形舱壁结构弹塑性动力屈曲 (2009年)

    采用 Budiansky-Roth屈曲准则判断鞍形舱壁的动力屈曲,研究了初始缺陷大小对鞍形舱壁结构动力屈曲的影响,并与等重量的传统三心球面舱壁结构进行了对比,然后讨论了主要设计参数对鞍形舱壁结构动力屈曲的影响。...

Global site tag (gtag.js) - Google Analytics