服务熔断

熔断就像是家里的保险丝一样,当电流达到一定条件时,比如保险丝能承受的电流是5A,如果你的电流达到了6A,因为保险丝承受不了这么高的电流,保险丝就会融化,这时候电路就会断开,起到了保护电器的作用;

在微服务里面也是一样,当下游的服务因为某种原因突然变得不可用或响应过慢,上游服务为了保证自己整体服务的可用性,不再继续调用目标服务,直接返回,快速释放资源。如果目标服务情况好转则恢复调用;

服务降级

服务降级是从整个系统的负荷情况出发和考虑的,对某些负荷会比较高的情况,为了预防某些功能出现负荷过载或者响应慢的情况,在其内部暂时舍弃对一些非核心的接口和数据的请求,而直接返回一个提前准备好的 fallback(退路)错误处理信息。这样,虽然提供的是一个有损的服务,但却保证了整个系统的稳定性和可用性。

熔断和降级的关系

降级和熔断其实就是服务安全中的2个不同的流程,在服务发生故障时,肯定是先断开(熔断)与服务的连接,然后在执行降级逻辑,如下图:

降级就是一个接口,熔断只是降级的其中一种实现方式,还有其他的降级方式,因为不管是熔断、限流还是超时,最后走的都是降级逻辑,降级方式如下:

降级方式

熔断降级(不可用)

服务 A 调用服务 B,失败次数达到一定阈值后 ,服务 A 的断路器打开,就不在请求服务 B,而是直接执行本地的 fallback 方法;这种叫做熔断降级,如下图所示:

超时降级

服务 A 调用服务 B,服务 B 响应超过了服务 A 设定的阈值后,就会执行降级逻辑,如下图所示:

限流降级

服务 A 调用服务 B,服务 A 的连接已超过自身能承载的最大连接数,比如说服务 A 能承载的连接数为2,但是此时并发数 3 个请求,前 2 请求能正常请求,最后 1 个会直接被拒绝,执行 fallback 降级逻辑,如下图所示:

面试官:说一下什么是熔断?什么是服务降级?相关推荐

  1. 什么是服务熔断,什么是服务降级?

    什么是服务熔断? 熔断这一概念来源于电子工程中的断路器(Circuit Breaker).在互联网系统中,当下游服务因访问压力过大而响应变慢或失败,上游服务为了保护系统整体的可用性,可以暂时切断对下游 ...

  2. java服务降级与服务熔断区别_服务降级和服务熔断

    服务熔断 在微服务架构中,微服务之间的数据交互通过远程调用完成,微服务A调用微服务B和微服务C,微服务B和微服务C又调用其它的微服务,此时如果链路上某个微服务的调用响应时间过长或者不可用,那么对微服务 ...

  3. 高德面试官问我:JVM内存溢出后服务还能运行吗,我一顿操作行云流水

    文章开篇问一个问题吧,一个java程序,如果其中一个线程发生了OOM,那进程中的其他线程还能运行吗? 接下来做实验,看看JVM的六种OOM之后程序还能不能访问. 在这里我用的是一个springboot ...

  4. 面试官:了解雪崩效应吗?了解Hystrix吗?怎么解决雪崩效应吗?(大型社死现场,教你运筹帷幄之中)

    上篇我们模拟了高并发场景下,系统资源被耗尽导致其他接口访问非常之慢.至此,这篇给出了五种解决方案(当然这个是次要的,主要还是理解原理) 上篇地址:https://blog.csdn.net/Kevin ...

  5. 跟Java面试官对线的一天!唬住就要50K,唬不住就要5K

    个人面经 前言 JVM篇 计网篇 Java基础篇 多线程篇 Spring框架篇 MyBatis框架篇 MySQL篇 Redis篇 分布式.微服务篇 小结 前言 不积跬步无以至千里,不积小流无以成江海 ...

  6. 想搞定大厂面试官?java读取txt文件并存入数组

    一.码场心得 你是个能吃苦的人吗? 从前的能吃苦大多指的体力劳动的苦,但现在的能吃苦已经包括太多维度,包括:读书学习&寂寞的苦.深度思考&脑力的苦.自律习惯&修行的苦.自控能力 ...

  7. 最全SpringCloud面试题及答案,面试官被摩擦系列

    1. 什么是 spring cloud? spring cloud 是一系列框架的有序集合.它利用 spring boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册.配置中心. ...

  8. 吊打面试官!针对阿里、字节等大厂扩招整理的Java岗面试合集

    前言 我觉得有一个能够找一份大厂的 offer的想法,这是很正常的,这并不是我们的饭后谈资而是每个技术人的追求.像阿里.腾讯.美团.字节跳动.京东等等的技术氛围与技术规范度还是要明显优于一些创业型公司 ...

  9. Java高频面试复习题,助你吊打面试官

    前言 2022年对程序员来说是特别严峻的一年,也是大改革的一年,大部分人因为今年"疫情"的原因纷纷离开了自己原有的岗位,也有人抓住机会逆流而上拿到更高的待遇! 2022年金九银十已 ...

  10. 2022年各大厂Java高频面试复习题,帮你吊打面试官!

    前言 2022年对程序员来说是特别严峻的一年,也是大改革的一年,大部分人因为今年"疫情"的原因纷纷离开了自己原有的岗位,也有人抓住机会逆流而上拿到更高的待遇! 2022年金九银十已 ...

最新文章

  1. ASP.NET中的Theme和Skin
  2. 2014年4月的北京大学微电子考研复试题-什么是小信号?
  3. 转载:程序员从初级到中级10个秘诀
  4. Android开发p图软件,媲美大神P图效果 Android软件抠图神手
  5. java rmi 是否 必要_Java学习之路-RMI学习
  6. Top 10 Digital Transformation Trends For 2020
  7. VWware Vsphere 实战记录一、vsphere简介及相关名词介绍
  8. vba odbc 3704 mysql_[求助]ado对象调用存储过程运行时错误3704
  9. eclipse没有java project_用ecilpse开发一个java程序
  10. MySQL通过Binlog恢复数据
  11. Tomcat的下载安装及静态部署
  12. 售前工程师面试准备工作及经验分享
  13. THUSC2018滚粗记
  14. 百度 LBS 开放平台,开发人员众測计划正式启动
  15. spring跨重定向传递数据
  16. BUUCTF中的“新年快乐”
  17. B站付费视频使up主掉粉过万
  18. Intellij Idea maven项目每次更新自动更新java compiler 和 language leval
  19. Python+大数据-数据处理与分析-pandas快速入门
  20. 微信点赞功能测试用例,面试答题

热门文章

  1. Java 第一阶段建立编程思想 【面向对象编程(中级部分)】
  2. 三角函数的极限和导数
  3. volatility用法
  4. 养老保险和住房公积金如何转移
  5. 手机升级系统如何找回丢失的文件
  6. 恒指交易如何先小亏,后而才是大赚!
  7. 停止精神内耗 每日分享
  8. 首都师范 博弈论 2 1 1占优策略与占优策略均衡
  9. css 字符间距,单词间距
  10. 淘码手机验证码平台——唯一可以批量接收验证码及批量解封账号的平台