哈喽!大家好,我是小奇,一位热爱分享的程序员
小奇打算以轻松幽默的对话方式来分享一些技术,如果你觉得通过小奇的文章学到了东西,那就给小奇一个赞吧
文章持续更新,可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】更有我为大家准备的福利哟!回复【项目】有我为大家准备的一些项目源码。回复【简历模板】有我为大家准备的简历模板。
文章目录
- 一、前言
- 二、面试
- 三、总结
一、前言
书接上回,今天周一了,招聘软件上的公司又开始蠢蠢欲动了。各种各样的用工方式,驻场、劳务派遣、项目外包等让人眼花缭乱,稍有不慎就落入了公司的“圈套”,各位还是要擦亮双眼啊。
老样子,还是先看看某直聘上的最新发布,挑挑拣拣,最后选了十几家投了简历,然后就静候佳音吧,趁这功夫去村里黑网吧玩会。
没想到周一也这么多人,这些小孩估计是逃学来的吧,看我不把他们轰走。
我:喂,小屁孩,知道我是谁吗?
小屁孩:哎呦,这不是奇哥嘛,大哥今天也逃学了啊。
我:逃什么学,老子早毕业了。
小屁孩:唉,被学校开除就说开除了,还说什么毕业了。
我:滚蛋,老子有毕业证。
小屁孩:毕业证多少钱啊。
我:两千!!!
小屁孩:哈哈哈。。。
我:别给我扯这没用的,赶紧换地图,玩我最熟悉的守望之城,我可是狙神奇哥。
正在我十几连杀的时候突然我的手机响了,谁呀这么不会挑时候。
我:“喂您好”。
对面:“您好,请问是小奇吗”。
我:“是我,你是?”。
对面:“我是XXX公司的,我看到hr推给我你的简历,我感觉还不错,你什么时候方便来现场面试一下”。
我:“现在不方便现场面试了”。
对面:“好吧,那你现在方便吗?我们现在线上面试一下吧”。
我:“好的”。
二、面试
面试官:我看你简历上写的精通Dubbo,那你能说一下Dubbo怎么可以实现服务降级吗?
我:Dubbo可以向注册中心写入动态配置覆盖规则来实现服务降级。
RegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension();Registry registry = registryFactory.getRegistry(URL.valueOf("zookeeper://10.20.153.10:2181"));registry.register(URL.valueOf("override://0.0.0.0/com.foo.BarService?category=configurators&dynamic=false&application=foo&mock=force:return+null"));
在这里我们可以看到后面代码最后面有一个mock=force:return+null,这个就是用来定义降级后的返回策略的。其中:
mock=force:return+null 表示消费方对该服务的方法调用直接返回 null 值,不发起远程调用。这样的话让我们配置了这个策略后,我们消费者调用这个服务者直接就返回null了,这个服务挂掉也没有关系了。
mock=fail:return+null 表示消费方对该服务的方法调用在失败后,再返回 null 值,不抛异常,这样的话我们消费者在调用这个服务端的时候会等待服务端的响应,如果调用失败后,就会返回消费者null值,这个如果调用成功的话就正常返回,这里还是比较灵活的。
面试官:嗯,Dubbo为什么要实现服务降级?
我:因为我们一个系统会有核心业务流程,和非核心业务流程。
例如一个网购的系统,在高峰期间压力剧增,这个时候如果一个非核心业务流程服务出现问题,那么核心的业务流程可能在远程调用非核心服务时出现问题,这样就造成核心流程服务也收到影响。
所以如果在高峰期压力大的情况下, 如果非核心服务出现问题,我们可以使用服务降级策略,使得不可用的服务就不会再调用,直接让他返回null值,不影响我们核心业务流程就好了。
面试官:“小伙子不错呀,什么时候能回北京入职呢”
我:“额。。。等等吧,现在还有好多家公司等着谈薪资呢,我得挑一家合适的。”
面试官:“你要多少我都给你,来我这吧”
我:“额。。。那就月薪100个W吧”。
面试官:“喂,你说什么我听不见,信号不好。。。”
我:“喂喂喂”(嘟嘟嘟嘟嘟嘟嘟嘟。。。)。
三、总结
这里的相关内容还没有整理完毕,文章后面持续更新,建议收藏。
文章中涉及到的命令大家一定要像我一样每个都敲几遍,只有在敲的过程中才能发现自己对命令是否真正的掌握了。
如果觉得我的文章还不错的话就点个赞吧,另外可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】更有我为大家准备的福利哟!回复【项目】有我为大家准备的一些项目源码。回复【简历模板】有我为大家准备的简历模板。