小D课堂 - 新版本微服务springcloud+Docker教程_5-01分布式核心知识之熔断、降级
笔记:
第五章 互联网架构服务降级熔断 Hystrix 实战
1、分布式核心知识之熔断、降级讲解
简介:系统负载过高,突发流量或者网络等各种异常情况介绍,常用的解决方案
1、熔断:
保险丝,熔断服务,为了防止整个系统故障,包含子和下游服务
下单服务 -》商品服务
-》用户服务 (出现异常-》熔断)
2、降级:
抛弃一些非核心的接口和数据
旅行箱的例子:只带核心的物品,抛弃非核心的,等有条件的时候再去携带这些物品
3、熔断和降级互相交集
相同点:
1)从可用性和可靠性触发,为了防止系统崩溃
2)最终让用户体验到的是某些功能暂时不能用
不同点
1)服务熔断一般是下游服务故障导致的,而服务降级一般是从整体系统负荷考虑,由调用方控制
开始
订单里面有userName 还需要去调用用户的的服务
我们现在还没有开发用户服务,我们现在先假定有用户服务。这里需要去调用用户的服务获取userName


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

这样用户一样可以完成下单,如果没有熔断的话,可能就一直调用用户服务,一直失败,无法完成下单
有了熔断,不再去调用用户服务一样完成基本的操作下单,只不过拿不到会员信息。
用户服务不止是订单服务去调用还可能给其他业务系统调用,可能给登陆服务,手机端app等都会调用用户的服务。做熔断,防止不可用。
降级
抛弃一些非核心的接口和数据
例如双11的时候够买一个商品。真正核心的是商品的信息销量和库存,只返回核心的,非核心的相关推荐啊之类的 就可以过了高峰期过了之后再返回

对用户而言能完成的正常的下单流程。非核心的相关推荐等被抛弃
熔断和降级
相同点:
1)从可用性和可靠性触发,为了防止系统崩溃
2)最终让用户体验到的是某些功能暂时不能用
不同点
1)服务熔断一般是下游服务故障导致的,而服务降级一般是从整体系统负荷考虑,由调用方控制
小D课堂 - 新版本微服务springcloud+Docker教程_5-01分布式核心知识之熔断、降级的更多相关文章
- 小D课堂 - 新版本微服务springcloud+Docker教程_汇总
小D课堂 - 新版本微服务springcloud+Docker教程_1_01课程简介 小D课堂 - 新版本微服务springcloud+Docker教程_1_02技术选型 小D课堂 - 新版本微服务s ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_1_01课程简介
笔记 ============================================= SpringCloud课程笔记.txt 第一章 课程介绍和学习路线 1.微服务架构SpringClou ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_3-02CAP理论知识
笔记 2.分布式应用知识CAP理论知识 简介:讲解分布式核心知识CAP理论 CAP定理: 指的是在一个分布式系统中,Consistency(一致性). Availabi ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_3-04 SpringCloud微服务核心组件Eureka介绍和闭源后影响
笔记 4.SpringCloud微服务核心组件Eureka介绍和闭源后影响 简介: SpringCloud体系介绍 官方地址:http://projec ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_3-01 什么是微服务的注册中心
笔记 第三章 SpringCloud核心组件注册中心 1.什么是微服务的注册中心 简介:讲解什么是注册中心,常用的注册中心有哪些 (画图) 理解注册中心:服务 ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_2_04微服务下电商项目基础模块设计
笔记 4.微服务下电商项目基础模块设计 简介:微服务下电商项目基础模块设计 分离几个模块,课程围绕这个基础项目进行学习 小而精的方式学习微服务 1.用户服务 ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_2_03常见的微服务框架
笔记 3.常见的微服务框架 简介:讲解常用的微服务框架 consumer: 调用方 provider: 被调用方 一个接口一般都会充当两个角色(不是同时充当) ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_6-06 zuul微服务网关集群搭建
笔记 6.Zuul微服务网关集群搭建 简介:微服务网关Zull集群搭建 1.nginx+lvs+keepalive https://www.cnblogs.com/liuyisai/ ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_6-01 微服务网关介绍和使用场景
笔记 第六章 微服务网关zuul开发实战 1.微服务网关介绍和使用场景 简介:讲解网关的作用和使用场景 (画图) 1)什么是网关 API Gateway,是系 ...
随机推荐
- Mysql(四):数据操作
一 介绍 MySQL数据操作: DML ======================================================== 在MySQL管理软件中,可以通过SQL语句中的 ...
- python异步编程 (转载)
Python Async/Await入门指南 转自:https://zhuanlan.zhihu.com/p/27258289 本文将会讲述Python 3.5之后出现的async/await的使 ...
- 【2017-05-30】WebForm文件上传。从服务端删除文件
用 FileUpload控件进行上传文件. <asp:FileUpload ID="FileUpload1" runat="server" /> ...
- win10家庭版设置移动热点出现“我们无法设置移动热点”
寝室wifi卡到爆炸, 买了一个360随身WiFi,可是360随身WiFi烧坏了 ...然后我就一个星期没玩游戏了 今天本来想开电脑的wifi试一试,结果发现无法设置热点 纳闷了 百度一下,发现都 ...
- 008.MVC与数据库的交互
使用ASP.NET MVC实现向数据库插入数据的步骤(程序): (删除,修改,查找)步骤1:创建数据库,创建要使用的表(数据) 表中可以事先插入测试数据步骤2:新建项目,写代码2.1)在配置文件中设置 ...
- mysql存储json
1. json_merge 合并Json并返回 update `user` set inviteeMap = json_merge(inviteeMap, '{"xx1":100} ...
- DX12 开debuggerlayer
https://social.technet.microsoft.com/Forums/azure/en-US/ef10f8eb-fee0-4cde-bb01-52d1db2ea347/win10-1 ...
- C# 设置程序开机自启动
设置启动 //设置开机自启动 string path = Application.ExecutablePath; RegistryKey rk = Registry.LocalMachine; Reg ...
- 2019CCPC秦皇岛自我反省&部分题解
练了一年半了,第一次打CCPC,险些把队友坑了打铁,最后也是3题危险捡了块铜. 非常水的点双连通,我居然不相信自己去相信板子,唉,结果整来整去,本来半个小时能出的题,整到了3个小时,大失误呀,不然就可 ...
- 【luoguP3243】[HNOI2015]菜肴制作--拓扑排序
题目描述 知名美食家小 A被邀请至ATM 大酒店,为其品评菜肴. ATM 酒店为小 A 准备了 N 道菜肴,酒店按照为菜肴预估的质量从高到低给予1到N的顺序编号,预估质量最高的菜肴编号为1. 由于菜肴 ...