其他分享
首页 > 其他分享> > 泪目!你不看绝对血亏的Volatile全方位解析附面试题答案

泪目!你不看绝对血亏的Volatile全方位解析附面试题答案

作者:互联网

引言

做了5年开发的我,阿里一直是我心之所向,如今我如愿以偿进入了国内互联网巨头——Alibaba!

其实,今年下半年我面试不少互联网企业,像涂鸦智能,百度,京东,腾讯,字节,滴滴,阿里等等都有三井的身影,之后总结出来的针对Java面试的知识点或真题,每个点或题目都是在面试中被问过的,满满干货,诚意分享!

由于整理成了文档,总结的内容比较多,希望大家都能领取一份,一定对自己有帮助!

造成雪崩的真实场景

1.4.1 服务提供者不可用

1.4.2 重试加大流量

五、如何防止雪崩

方案

出问题前预防:限流、主动降级、隔离

出问题后修复:熔断、被动降级

「本篇主要来讲解熔断机制。」 后续几篇会讲解其他方案。

六、熔断原理和算法

1.6.1 熔断概念

熔断这个概念来源于电路系统中的保险丝熔断。当电流过大时,保险丝熔断,防止因电流过大损坏电器元器件,或因电流过大,导致元器件热度过高,发生火灾。

「物理公式」 电功率 P = I^2 * R,I 代表电流,元器件的电阻 R 不变的情况下,电流越大,电功率约大,电阻做的电功大部分都用来发热了,所以电功率越大,发热越严重。(还好高中物理没忘。)

放到我们系统中,怎么理解熔断?

如果在某段时间内,调用某个服务非常慢甚至超时,就可以将这个服务熔断,后续其他服务再调用这个服务就直接返回,告诉其他服务:「“已经熔断了,你别调用我了,过段时间再来试下吧。”」

1.6.2 如何熔断

「熔断有个原则」 一段时间内,统计失败的次数或者失败请求的占比超过一定阈值,就进行熔断。

详细的原理如下图所示:

1.6.3 统计请求的算法

1.6.4 熔断的恢复算法

1.6.5 统计失败率的时间窗口

1.6.6 尝试恢复服务的时间窗口

七、熔断中间件

肯定有人会问了,你这上面讲的原理,难道还真的自己去写这套算法?

「答案:是的,项目中我们自己造了一个轮子:熔断器。」

但这里我不推荐大家这么做。市面上还有更优秀的开源组件供大家使用,比如阿里系的 Sentinel(推荐),Netflix 的 Hystrix(已停止更新)。

当然 Sentinel 就不在这篇讲了,后续奉上~

Java面试核心知识点笔记

其中囊括了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、数据结构等大量知识点。

蚂蚁金服(Java研发岗),26岁小伙斩获三面,收获Offer定级P6

Java中高级面试高频考点整理

蚂蚁金服(Java研发岗),26岁小伙斩获三面,收获Offer定级P6

更多Java进阶知识笔记文档分享,这些对于面试还是学习来说都是一份不错的学习资料

有需要的朋友可以戳这里即可免费领取

蚂蚁金服(Java研发岗),26岁小伙斩获三面,收获Offer定级P6

最后还分享Java进阶学习及面试必备的视频教学

蚂蚁金服(Java研发岗),26岁小伙斩获三面,收获Offer定级P6

mxTbFJ1cmN1R2dB)**

[外链图片转存中…(img-O5bJXETn-1623052240614)]

最后还分享Java进阶学习及面试必备的视频教学

[外链图片转存中…(img-dYBn9qsU-1623052240615)]

标签:状态,Java,断开,附面,试题答案,泪目,熔断,服务,请求
来源: https://blog.csdn.net/m0_56662269/article/details/117664307