笔记:

第五章 互联网架构服务降级熔断 Hystrix 实战

1、分布式核心知识之熔断、降级讲解
    简介:系统负载过高,突发流量或者网络等各种异常情况介绍,常用的解决方案

1、熔断:
        保险丝,熔断服务,为了防止整个系统故障,包含子和下游服务

下单服务 -》商品服务
                -》用户服务 (出现异常-》熔断)

2、降级:
        抛弃一些非核心的接口和数据

旅行箱的例子:只带核心的物品,抛弃非核心的,等有条件的时候再去携带这些物品

3、熔断和降级互相交集
        相同点:
            1)从可用性和可靠性触发,为了防止系统崩溃
            2)最终让用户体验到的是某些功能暂时不能用

不同点
            1)服务熔断一般是下游服务故障导致的,而服务降级一般是从整体系统负荷考虑,由调用方控制

开始

订单里面有userName 还需要去调用用户的的服务

我们现在还没有开发用户服务,我们现在先假定有用户服务。这里需要去调用用户的服务获取userName


生成订单的时候,调用用户的服务,用户服务机房网络中断,无法链接。造成无法下单。

调用用户服务一直失败,触发熔断。订单调用用户服务几次失败后,有一个阀值,例如有50%的记录失败的话就标记当前这个服务不可用,那么后后续其他请求进来的时候就不再去调用了。直接调用商品的服务保存到数据库里,这里就没再调用用户的服务。调用用户服务会出现异常或者响应延迟 这是一个有损的,不调用用户服务一样可以完成下单,我们当前这里例子里面有userId也是可以标明用户的,。只不过是拿不到用户的会员信息和用户名称 。这是当前的这个例子而言

这样用户一样可以完成下单,如果没有熔断的话,可能就一直调用用户服务,一直失败,无法完成下单
有了熔断,不再去调用用户服务一样完成基本的操作下单,只不过拿不到会员信息。
用户服务不止是订单服务去调用还可能给其他业务系统调用,可能给登陆服务,手机端app等都会调用用户的服务。做熔断,防止不可用。

降级

抛弃一些非核心的接口和数据
例如双11的时候够买一个商品。真正核心的是商品的信息销量和库存,只返回核心的,非核心的相关推荐啊之类的 就可以过了高峰期过了之后再返回

对用户而言能完成的正常的下单流程。非核心的相关推荐等被抛弃

熔断和降级

相同点:
            1)从可用性和可靠性触发,为了防止系统崩溃
            2)最终让用户体验到的是某些功能暂时不能用

不同点
            1)服务熔断一般是下游服务故障导致的,而服务降级一般是从整体系统负荷考虑,由调用方控制

小D课堂 - 新版本微服务springcloud+Docker教程_5-01分布式核心知识之熔断、降级的更多相关文章

  1. 小D课堂 - 新版本微服务springcloud+Docker教程_汇总

    小D课堂 - 新版本微服务springcloud+Docker教程_1_01课程简介 小D课堂 - 新版本微服务springcloud+Docker教程_1_02技术选型 小D课堂 - 新版本微服务s ...

  2. 小D课堂 - 新版本微服务springcloud+Docker教程_1_01课程简介

    笔记 ============================================= SpringCloud课程笔记.txt 第一章 课程介绍和学习路线 1.微服务架构SpringClou ...

  3. 小D课堂 - 新版本微服务springcloud+Docker教程_3-02CAP理论知识

    笔记 2.分布式应用知识CAP理论知识     简介:讲解分布式核心知识CAP理论 CAP定理:             指的是在一个分布式系统中,Consistency(一致性). Availabi ...

  4. 小D课堂 - 新版本微服务springcloud+Docker教程_3-04 SpringCloud微服务核心组件Eureka介绍和闭源后影响

    笔记 4.SpringCloud微服务核心组件Eureka介绍和闭源后影响     简介:         SpringCloud体系介绍             官方地址:http://projec ...

  5. 小D课堂 - 新版本微服务springcloud+Docker教程_3-01 什么是微服务的注册中心

    笔记 第三章 SpringCloud核心组件注册中心 1.什么是微服务的注册中心     简介:讲解什么是注册中心,常用的注册中心有哪些 (画图)                  理解注册中心:服务 ...

  6. 小D课堂 - 新版本微服务springcloud+Docker教程_2_04微服务下电商项目基础模块设计

    笔记 4.微服务下电商项目基础模块设计     简介:微服务下电商项目基础模块设计 分离几个模块,课程围绕这个基础项目进行学习             小而精的方式学习微服务 1.用户服务       ...

  7. 小D课堂 - 新版本微服务springcloud+Docker教程_2_03常见的微服务框架

    笔记 3.常见的微服务框架     简介:讲解常用的微服务框架 consumer: 调用方         provider: 被调用方         一个接口一般都会充当两个角色(不是同时充当) ...

  8. 小D课堂 - 新版本微服务springcloud+Docker教程_6-06 zuul微服务网关集群搭建

    笔记 6.Zuul微服务网关集群搭建     简介:微服务网关Zull集群搭建 1.nginx+lvs+keepalive      https://www.cnblogs.com/liuyisai/ ...

  9. 小D课堂 - 新版本微服务springcloud+Docker教程_6-01 微服务网关介绍和使用场景

    笔记 第六章 微服务网关zuul开发实战 1.微服务网关介绍和使用场景     简介:讲解网关的作用和使用场景 (画图)          1)什么是网关         API Gateway,是系 ...

随机推荐

  1. Caffe---Pycaffe 绘制loss和accuracy曲线

    Caffe---Pycaffe 绘制loss和accuracy曲线 <Caffe自带工具包---绘制loss和accuracy曲线>:可以看出使用caffe自带的工具包绘制loss曲线和a ...

  2. Java实验1 - 类的继承(super)- 创建checkaccount继承account

    笔记总结: /** 任务81: 继承性,(降低代码亢余度) * 1.class 子类A Extends 父类B,(private 的内容无法被继承) * 2. 方法可以覆盖(Overrides), 注 ...

  3. centos wireshark

    root安装: yum install wireshark yum install wireshark-gnome wireshark error: There are no interfaces o ...

  4. RocketMQ原理分析 文章 精选【收集】

    一. 推荐文章 1.以下来自OSChina的 mingxungu https://itzones.cn/ RocketMQ运维监控 RocketMQ刷盘策略 RocketMQ消息重试 RocketMQ ...

  5. RestTemplate发送GET请求

    import org.springframework.web.client.RestTemplate; @Component @Slf4j public class JsSdkUtil { /** * ...

  6. python基于opencv实现人脸定位

    import cv2 # 读取图片 img = cv2.imread("image.jpg") # 加载模型,模型可以从https://github.com/opencv/open ...

  7. laravel Passport - Dingo/Api v2.0+Passport 实现 api 认证

    第一部分: 安装passport 使⽤ Composer 依赖包管理器安装 Passport : composer require laravel/passport 接下来,将 Passport 的服 ...

  8. 下载PDF格式的Html

    下载PDF格式的Html 首先准备需要的两个js jsPdf.debug.js html2canvas.js 直接上代码: function download() { html2canvas(docu ...

  9. C语言基础语法之指向函数的指针

    指针是C语言的精髓,对于初学者来讲,指针是C语言语法学习中比较难的知识点,而这里面指向函数的指针更是不太容易理解. 下面给大家讲下怎样学习理解C语言中指向函数的指针及编程方法和使用例子. 注意:这是一 ...

  10. axios 是如何封装 HTTP 请求的

    原载于 TutorialDocs 网站的文章<How to Implement an HTTP Request Library with Axios>.译者:zhangbao90shttp ...