课程分类

课程介绍
课程目录
用户评论
课程介绍
课程目录
用户评论

你将获得

  • 掌握某些知识点
  • 学会某些技巧(或思路)

教学服务

  • icon

    1v1专属答疑服务

  • icon

    BAT专家面试辅导

讲师介绍

  • 16年java开发经验,10的架构经验,曾就职于当当等大型互联网企业。熟练掌握分布式、高并发、高可用等技术。掌握支付平台、理财业务等业务架构。

  • 老师讲课真心很负责,能照顾到所有听课同学,而且课堂上有问题也会耐心的讲解,

  • 基础老师讲的很好,由简入深,循序渐进,是一条由菜鸟成长为大神的捷近,当然要成为大神除以老师占一部分原因,更多的是自己要勤加练习,认真听老师讲课,

  • 罗老师讲得很好,并且讲的很有激情,对我很有帮助,感谢罗老师罗老师辛苦了。

  • 课程详情



     

    Hystrix

    概述

    Hystrix是由Netflix开源的一个延迟和容错库,用于隔离访问远程系统、服务或者第三方库,防止级联失败,从而提升系统的可用性、容错性与局部应用的弹性,是一个实现了超时机制和断路器模式的工具类库。

    雪崩效应

    微服务化产品线,每一个服务专心于自己的业务逻辑,并对外提供相应的接口,看上去似乎很明了,其实还有很多的东西需要考虑,比如:服务的自动扩充,熔断和限流等,随着业务的扩展,服务的数量也会随之增多,逻辑会更加复杂,一个服务的某个逻辑需要依赖多个其他服务才能完成。一但一个依赖不能提供服务很可能会产生雪崩效应,最后导致整个服务不可访问。 微服务之间进行rpc或者http调用时,我们一般都会设置调用超时失败重试等机制来确保服务的成功执行,看上去很美,如果不考虑服务的熔断和限流,就是雪崩的源头。 假设我们有两个访问量比较大的服务A和B,这两个服务分别依赖C和D,C和D服务都依赖E服务
    A和B不断的调用C,D处理客户请求和返回需要的数据。当E服务不能供服务的时候,C和D的超时重试机制会被执行
     由于新的调用不断的产生,会导致C和D对E服务的调用大量的积压,产生大量的调用等待和重试调用,慢慢会耗尽C和D的资源比如内存或CPU,然后也down掉。
     A和B服务会重复C和D的操作,资源耗尽,然后down掉,最终整个服务都不可访问。
     常见的导致雪崩的情况有以下几种:
    ·      程序bug导致服务不可用,或者运行缓慢
    ·      缓存击穿,导致调用全部访问某服务,导致down掉
    ·      访问量的突然激增。
    ·      硬件问题。
    ·      重试加大流量,因为请求失败,调用方可能会不断重试。
    ·      服务调用者同步等待造成资源耗尽。
    虽然雪崩效应的产生千万条,保证服务的不挂机,和流畅运行是我们不可推卸的责任,对应雪崩效应还是有很多保护方案的。