目录
百战程序员,全站22050+开发课程+文档 ,学习精选优质好课快人一步!观看视频 快捷键ALT+N

JAVA全系列 教程

3762个小节阅读:7092.3k

收藏
全部开发者教程

C语言快速入门

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

Python3.x版本,未来主流的版本

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

算法,程序员自我提升必经之路

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(1.3k)
赞(0)

服务断路器_服务雪崩解决方案之服务隔离

image-20220222222110033

那显而易见,做服务隔离的目的就是避免服务之间相互影响。毕竟谁也不能说自己的微服务百分百可用,如果不做隔离,一旦一个服务出现了问题,整个系统的稳定性都会受到影响! 因此,做服务隔离是很有必要的。

什么是线程池隔离

将用户请求线程和服务执行线程分割开来,同时约定了每个服务最多可用线程数。

image-20220214110618569

使用线程池隔离后

image-20220214162349009

解释:

动物园有了新规矩-线程隔离,就是说每个服务单独设置一个小房间(独立线程池),把大厅区域和服务区域隔离开来,每个服务房间也有接待数量限制,比如我设置了熊猫馆最多接纳10人,犀牛管最多5人,大象馆20人。这样,即便来了20个人想你熊猫,我们也只能接待10人,剩下的10个人就会收到Thread Pool Rejects。如此一来,也不会耽搁动物园为用户提供其他服务。

什么是信号量隔离

小时候我们就知道“红灯停,绿灯行”,跟着交通信号的指示过马路。信号量也是这么一种放行、禁行的开关作用。它和线程池技术一样,控制了服务可以被同时访问的并发数量。

image-20220223204901974

线程池隔离和信号量隔离区别

隔离方式是否支持超时是否支持熔断隔离原理是否是异步调用资源消耗
线程池隔离支持,可直接返回支持,当线程池到达maxSize后,再请求会触发fallback接口进行熔断每个服务单独用线程池可以是异步,也可以是同步。看调用的方法大,大量线程的上下文切换,容易造成机器负载高
信号量隔离不支持,如果阻塞,只能通过调用协议(如:socket超时才能返回)支持,当信号量达到maxConcurrentRequests后。再请求会触发fallback通过信号量的计数器同步调用,不支持异步小,只是个计数器

实时效果反馈

1.服务隔离主要目的是____

A 解决负载均衡问题

B 解决单点故障

C 解决服务调用

D 避免服务之间相互影响

答案

1=>D

北京市昌平区回龙观镇南店村综合商业楼2楼226室

©2014-2023 百战卓越(北京)科技有限公司 All Rights Reserved.

京ICP备14032124号-2