美文网首页
微服务--服务保护机制

微服务--服务保护机制

作者: 曦夫 | 来源:发表于2018-11-14 18:03 被阅读0次

    1.熔断机制

    1.是什么?

    在微服务中,在访问某一目标服务并发量超过该应用的上限,服务请求堵塞,导致其他依赖服务无法被使用,最后系统崩溃(雪崩效应),而在此时对服务执行隔离或拒绝访问,等待服务恢复的一种保护手段。

    2.实现-断路器模式

    将受保护的服务对象封装在一个可以监控故障的断路器对象中,当故障达到一定门限时,断路器将跳闸,所有后续调用将不会发往受保护的服务,由断路器对象进行处理,返回错误消息。

    3.应用场景(目的)

    1.阻止应用反复尝试可能失败的操作
    2.提高服务的可用性和容错性

    4.断路器工作原理

    • 断路器相当于可能失败的操作的代理,熔断后的处理者


      微服务-熔断机制
    • 1.关闭(closed)状态

    1.代理维护着一段时间内请求某个服务请求的失败次数(故障计数器),当改次数超过指定的阈值,代理被打开并接管请求的处理。
    2.代理被打开后,熔断机制启动,此时代理启动一个超时定时器,当熔断时间超过这个时间后,代理会变成半开状态
    3.超时计时器:为了让系统有时间解决导致失败的问题,然后再允许应用程序执行再次尝试访问操作。

    • 2.打开(open)状态

    来自应用程序的请求失败,将异常返回给应用程序。

    • 3.半开(half-open)状态

    1.当代理进入该状态,会允许有限数量的请求访问,若请求成功,即认为故障已清除,熔断器切换至关闭状态,故障计数器重置。
    2.若有任何请求失败,则熔断器切换至打开状态,超时计时器从新启动。
    3.当服务恢复时,可能能够支持有限请求量,直至恢复完成,所以在进行恢复的期间,大量请求可能导致服务超时或再次失败。

    • 注意点

    系统恢复的方式:可以通过恢复或重启故障组件或修复网络连接来进行外部处理。

    5.熔断模式与重试模式

    • 故障的种类

    1.瞬时故障
    慢的网络连接,超时,资源过度使用导致暂时不可用
    2.不可预见突发故障
    程序隐藏bug,机器出问题等

    • 故障的处理

    1.对于瞬时故障,可以通过重试模式来解决
    2.断路器模式

    • 两者区别

    1.重试模式在程序可以预见成功的情况下使用
    2.断路器模式阻止应用程序执行可能的失败
    3.两者可以结合使用。

    2.降级机制

    1.是什么?

    当某一服务出现堵塞时 ,根据不同服务的业务的层级,采取关闭或处理一些不重要的服务,来缓解服务器压力,留出更多的服务器资源,保证核心服务能够顺利完成。降级操作可能需要人工干预。

    2.熔断与降级的区别

    1.熔断一般是某个服务发生故障引起的,而服务降级是从整体的负荷考虑的。
    2.熔断是对服务的一种保护的处理手段,服务间并没有层级之分,而降级服务是根据业务逻辑的的重要性划分层级的,而降级一般从最外围服务开始。

    相关文章

      网友评论

          本文标题:微服务--服务保护机制

          本文链接:https://www.haomeiwen.com/subject/nzwjfqtx.html