系列导航

SpringCloud学习 系列一、 前言-为什么要学习微服务

SpringCloud学习 系列二、 简介

SpringCloud学习 系列三、 创建一个没有使用springCloud的服务提供者和消费者

SpringCloud学习 系列四、微服务中心 Eureka介绍及创建一个Eureka中心服务

SpringCloud学习 系列五、创建生产者和消费者验证微服务中心 Eureka的作用

SpringCloud学习 系列六、服务平滑离线

SpringCloud学习 系列七、EurekaServer集群创建

SpringCloud学习 系列八、OpenFeign

SpringCloud学习 系列九、Ribbon

SpringCloud学习 系列十、服务熔断与降级(1-简介)

SpringCloud学习 系列十、服务熔断与降级(2-方法级别服务降级)

SpringCloud学习 系列十、服务熔断与降级(3-类级别的服务降级)

SpringCloud学习 系列十、服务熔断与降级(4-Dashboard监控仪表盘)

这部分内容比较多分成几个小章节来讲

1、简书解释

服务熔断:一般是指软件系统中,由于某些原因使得服务出现了过载现象,为防止造成整个系统故障,从而采用的一种保护措施,所以很多地方把熔断亦称为过载保护;

服务降级:是在服务器压力陡增的情况下,利用有限资源,根据当前业务情况,关闭某些服务接口或者页面,以此释放服务器资源以保证核心任务的正常运行。

2、自己的理解

服务熔断:consumer知道某个provider不能提供正常服务了,不去等待provider请求超时报错,直接告诉用户服务不好用了。

服务降级:consumer知道某个provider不能提供正常服务了,不去等待provider请求超时报错,直接告诉用户服务不好用了而不是把错误信息直接给用户(前者是直接报错,后者是告诉用户服务不好用了)。

3、Hystrix  简介

怎么实现服务的熔断和降级?Spring Cloud 是通过 Hystrix 来实现服务熔断与降级的。

Hystrix 豪猪的意思

(1)官网 Wiki

翻译:在分布式环境中,许多服务依赖中的一些服务发生失败是不可避免的。Hystrix 是一个库,通过添加延迟容忍和容错逻辑,帮助你控制这些分布式服务之间的交互。Hystrix 通过隔离服务之间的访问点、停止跨服务的级联故障以及提供回退选项来实现这一点,所有这些都可以提高系统的整体弹性。综合说明

(2)通俗的解释

Hystrix 是一种开关装置,类似于熔断保险丝。在消费者端安装一个 Hystrix 熔断器,当Hystrix 监控到某个服务发生故障后熔断器会开启,将此服务访问链路断开。不过 Hystrix 并不会将该服务的消费者阻塞,或向消费者抛出异常,而是向消费者返回一个符合预期的备选响应(FallBack)。通过 Hystrix 的熔断与降级功能,避免了服务雪崩的发生,同时也考虑到了

用户体验。故 Hystrix 是系统的一种防御机制。

SpringCloud学习 系列十、服务熔断与降级(1-简介)的更多相关文章

  1. springcloud组件之hystrix服务熔断,降级,限流

    hystrix 简介 Hystrix是什么 在分布式环境中,许多服务依赖项中的一些必然会失败.Hystrix是一个库,通过添加延迟容忍和容错逻辑,帮助你控制这些分布式服务之间的交互.Hystrix通过 ...

  2. SpringCloud学习系列-微服务

    最近和尚硅谷周阳老师学习了Spring Cloud感觉有必要在这里做下笔记和总结. 软件系统架构演变 单一应用架构当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本.此时,用 ...

  3. SpringCloud学习系列-Eureka服务注册与发现(1)

    1.Eureka的基本架构 Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务注册和发现(请对比Zookeeper). Eureka 采用了 C-S 的设计架构 ...

  4. SpringCloud学习系列-Eureka服务注册与发现(2)

    构建 microservicecloud-eureka-7001 eureka服务注册中心Module 1.新建microservicecloud-eureka-7001 2.pom <proj ...

  5. SpringCloud学习系列-Eureka服务注册与发现(4)

    actuator与注册微服务信息完善 1.主机名称:服务名称修改 当前问题 含有主机名称 修改修改microservicecloud-provider-dept-8001 的yml文件 修改内容 eu ...

  6. SpringCloud学习系列-Eureka服务注册与发现(3)

    修改microservicecloud-provider-dept-8001 1.修改pom 增加内容 <!-- 将微服务provider侧注册进eureka --> <depend ...

  7. Spring-cloud微服务实战【七】:服务熔断与降级hystrix

      在之前的文章中,我们先后介绍了eureka,ribbon,feign,使用eureka集群的方式来保证注册中心的高可用,在eureka中使用ribbon进行负载均衡,使用feign接口替换手动编码 ...

  8. SpringCloud Netflix (五) : Hystrix 服务熔断和服务降级

    什么是Hystrix 在分布式环境中,许多服务依赖项中的一些服务依赖不可避免地会失败.Hystrix是一个库,通过添加延迟容忍和容错逻辑,帮助您控制这些分布式服务之间的交互.Hystrix通过隔离服务 ...

  9. SpringCloud学习系列之三----- 断路器(Hystrix)和断路器监控(Dashboard)

    前言 本篇主要介绍的是SpringCloud中的断路器(Hystrix)和断路器指标看板(Dashboard)的相关使用知识. SpringCloud Hystrix Hystrix 介绍 Netfl ...

  10. SpringCloud学习系列之七 ----- Zuul路由网关的过滤器和异常处理

    前言 在上篇中介绍了SpringCloud Zuul路由网关的基本使用版本,本篇则介绍基于SpringCloud(基于SpringBoot2.x,.SpringCloud Finchley版)中的路由 ...

随机推荐

  1. httpclients 和 okhttp 区别

    HttpClient使用介绍使用HttpClient发送请求主要分为以下几步骤: 创建 CloseableHttpClient对象或CloseableHttpAsyncClient对象,前者同步,后者 ...

  2. 拖.sql文件到cmd中运行

    这个非常简单,但是网上说的又不清楚. 第一步cmd中进入数据库           其操作是 mysql -u root - p 密码: 第二步使用数据库         其操作是use 数据库名字: ...

  3. C++ Qt开发:PushButton按钮组件

    Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍QPushBu ...

  4. 01的token的年度总结

    大家好,我是token,一个热爱.NET的普通人,同样我来自湖南衡阳,再次之前我已经遇到非常多的湖南衡阳的老乡,比如李哥. ​ 在这里一年中,我的成长也是非常迅速的,每一年的的每一天,感觉自己的知识点 ...

  5. ElasticSearch之cat master API

    命令样例如下: curl -X GET "https://localhost:9200/_cat/master?v=true&pretty" --cacert $ES_HO ...

  6. 简单几行实现sliver上线提醒

    准备魔改sliver去掉一些特征什么的,这里记录一下最简单实现上线消息通过企业微信机器人提醒的方式,这很简单也有很多不足还需要接着改的 protobuf中对消息Beacon和Session的定义如下, ...

  7. 未经授权访问 .js

    流程顺序:后台管理登陆地址 → 后台主页地址 → fuzz测试出用户管理列表接口 → 直接调接口..全程黑盒. 那么接下来我逆着来推理下逻辑: 首先是拿到某后台管理登录的网址 接着查看html源码,发 ...

  8. 面试官:单例Bean一定不安全吗?实际工作中如何处理此问题?

    默认情况下,Spring Boot 中的 Bean 是非线程安全的.这是因为,默认情况下 Bean 的作用域是单例模式,那么此时,所有的请求都会共享同一个 Bean 实例,这意味着这个 Bean 实例 ...

  9. 2023-08-16:用go语言如何解决进击的骑士算法问题呢?

    2023-08-16:用go写算法.一个坐标可以从 -infinity 延伸到 +infinity 的 无限大的 棋盘上, 你的 骑士 驻扎在坐标为 [0, 0] 的方格里. 骑士的走法和中国象棋中的 ...

  10. maven系列:聚合与继承

    目录 一.聚合 创建Maven模块,设置打包类型为pom 设置当前聚合工程所包含的子模块名称 二. 继承 问题导入 创建Maven模块,设置打包类型为pom 在父工程的pom文件中配置依赖关系(子工程 ...