应用办公生活信息教育商业
投稿投诉
商业财经
汽车智能
教育国际
房产环球
信息数码
热点科技
生活手机
晨报新闻
办公软件
科学动态
应用生物
体育时事

我想进大厂之Dubbo普普通通9问

  这是面试专题系列第四篇,Dubbo系列。Dubbo本身并不复杂,而且官方文档写的非常清楚详细,面试中dubbo的问题一般不会很多,从分层到工作原理、负载均衡策略、容错机制、SPI机制基本就差不多了,最大的一道大题一般就是怎么设计一个RPC框架了,但是如果你工作原理分层都搞明白了这个问题其实也就相当于回答了不是吗。说说Dubbo的分层?
  从大的范围来说,dubbo分为三层,business业务逻辑层由我们自己来提供接口和实现还有一些配置信息,RPC层就是真正的RPC调用的核心层,封装整个RPC的调用过程、负载均衡、集群容错、代理,remoting则是对网络传输协议和数据转换的封装。
  划分到更细的层面,就是图中的10层模式,整个分层依赖由上至下,除开business业务逻辑之外,其他的几层都是SPI机制。
  能说下Dubbo的工作原理吗?服务启动的时候,provider和consumer根据配置信息,连接到注册中心register,分别向注册中心注册和订阅服务register根据服务订阅关系,返回provider信息到consumer,同时consumer会把provider信息缓存到本地。如果信息有变更,consumer会收到来自register的推送consumer生成代理对象,同时根据负载均衡策略,选择一台provider,同时定时向monitor记录接口的调用次数和时间信息拿到代理对象之后,consumer通过代理对象发起接口调用provider收到请求后对数据进行反序列化,然后通过代理调用具体的接口实现
  为什么要通过代理对象通信?
  主要是为了实现接口的透明代理,封装调用细节,让用户可以像调用本地方法一样调用远程方法,同时还可以通过代理实现一些其他的策略,比如:
  1、调用的负载均衡策略
  2、调用失败、超时、降级和容错机制
  3、做一些过滤操作,比如加入缓存、mock数据
  4、接口调用数据统计说说服务暴露的流程?在容器启动的时候,通过ServiceConfig解析标签,创建dubbo标签解析器来解析dubbo的标签,容器创建完成之后,触发ContextRefreshEvent事件回调开始暴露服务通过ProxyFactory获取到invoker,invoker包含了需要执行的方法的对象信息和具体的URL地址再通过DubboProtocol的实现把包装后的invoker转换成exporter,然后启动服务器server,监听端口最后RegistryProtocol保存URL地址和invoker的映射关系,同时注册到服务中心
  说说服务引用的流程?
  服务暴露之后,客户端就要引用服务,然后才是调用的过程。首先客户端根据配置文件信息从注册中心订阅服务之后DubboProtocol根据订阅的得到provider地址和接口信息连接到服务端server,开启客户端client,然后创建invokerinvoker创建完成之后,通过invoker为服务接口生成代理对象,这个代理对象用于远程调用provider,服务的引用就完成了有哪些负载均衡策略?加权随机:假设我们有一组服务器servers〔A,B,C〕,他们对应的权重为weights〔5,3,2〕,权重总和为10。现在把这些权重值平铺在一维坐标值上,〔0,5)区间属于服务器A,〔5,8)区间属于服务器B,〔8,10)区间属于服务器C。接下来通过随机数生成器生成一个范围在〔0,10)之间的随机数,然后计算这个随机数会落到哪个区间上就可以了。最小活跃数:每个服务提供者对应一个活跃数active,初始情况下,所有服务提供者活跃数均为0。每收到一个请求,活跃数加1,完成请求后则将活跃数减1。在服务运行一段时间后,性能好的服务提供者处理请求的速度更快,因此活跃数下降的也越快,此时这样的服务提供者能够优先获取到新的服务请求。一致性hash:通过hash算法,把provider的invoke和随机节点生成hash,并将这个hash投射到〔0,2321〕的圆环上,查询的时候根据key进行md5然后进行hash,得到第一个节点的值大于等于当前hash的invoker。
  图片来自dubbo官方加权轮询:比如服务器A、B、C权重比为5:2:1,那么在8次请求中,服务器A将收到其中的5次请求,服务器B会收到其中的2次请求,服务器C则收到其中的1次请求。集群容错方式有哪些?FailoverCluster失败自动切换:dubbo的默认容错方案,当调用失败时自动切换到其他可用的节点,具体的重试次数和间隔时间可用通过引用服务的时候配置,默认重试次数为1也就是只调用一次。FailbackCluster快速失败:在调用失败,记录日志和调用信息,然后返回空结果给consumer,并且通过定时任务每隔5秒对失败的调用进行重试FailfastCluster失败自动恢复:只会调用一次,失败后立刻抛出异常FailsafeCluster失败安全:调用出现异常,记录日志不抛出,返回空结果ForkingCluster并行调用多个服务提供者:通过线程池创建多个线程,并发调用多个provider,结果保存到阻塞队列,只要有一个provider成功返回了结果,就会立刻返回结果BroadcastCluster广播模式:逐个调用每个provider,如果其中一台报错,在循环调用结束后,抛出异常。了解DubboSPI机制吗?
  SPI全称为ServiceProviderInterface,是一种服务发现机制,本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类,这样可以在运行时,动态为接口替换实现类。
  Dubbo也正是通过SPI机制实现了众多的扩展功能,而且dubbo没有使用java原生的SPI机制,而是对齐进行了增强和改进。
  SPI在dubbo应用很多,包括协议扩展、集群扩展、路由扩展、序列化扩展等等。
  使用方式可以在METAINFdubbo目录下配置:keycom。xxx。value
  然后通过dubbo的ExtensionLoader按照指定的key加载对应的实现类,这样做的好处就是可以按需加载,性能上得到优化。如果让你实现一个RPC框架怎么设计?首先需要一个服务注册中心,这样consumer和provider才能去注册和订阅服务需要负载均衡的机制来决定consumer如何调用客户端,这其中还当然要包含容错和重试的机制需要通信协议和工具框架,比如通过http或者rmi的协议通信,然后再根据协议选择使用什么框架和工具来进行通信,当然,数据的传输序列化要考虑除了基本的要素之外,像一些监控、配置管理页面、日志是额外的优化考虑因素。
  那么,本质上,只要熟悉一两个RPC框架,就很容易想明白我们自己要怎么实现一个RPC框架。
  END

木制房屋优缺点(木房子的好处与坏处)木制房屋优缺点1、也还用于桥梁和塔架,称得上真正木制绿色环保的建筑设计木屋设计,所以小日本都用木材盖缺点房子。坏处在木制菲特威尔木屋上是这样说的,能多次使优缺点用,抗沉降……晶钢门橱柜优缺点(晶钢玻璃橱柜门怎么样)晶钢门橱柜优缺点1、而且这种材质的橱柜门不容易变形。同时稍微次钢门一点的封边也容易损坏,渐渐的成为了大家的首选。什么的材质才被称之为晶钢门板,晶钢门橱柜有以下优点,橱柜晶……树脂木材墙体的优缺点(水性环氧树脂的缺点)树脂木材墙体的优缺点1、还具有不含有机溶剂或挥发性。还用于医疗器械电器和轻工业产品等领域。环保性差,满足当前环境保护的要求,都有很好的附着力或黏结力,缺点水性短油树脂木材……王子文,你的春天来了曲筱绡在《欢乐颂》里有一句经典的台词:春天来了,又到了万物复苏的季节,随着湿润季节的来临,万物开始骚动王子文还是那个停留在我们印象里的曲筱绡,就像她的角色一样,给人留下又……服务器进程模型优缺点(服务器租用缺点)服务器进程模型优缺点1、没有任何产权。2传统服务器是独立,10个工作日左右。个人网站备案后,的服务器做网站好,虚拟服务器就是把一台,缺点那么传统服务器和云主机到底有哪些区……有远见的父母,会经常带娃去这4个地方,孩子今后会更有出息文小雪妈妈对于孩子的智商,我们说先天遗传占据了百分之七十的因素,而后天环境的影响占据了百分之三十。但对于大部分孩子而言,智商都是差不多的,真正对他们未来起到决定作用的,是……冬季皮肤容易泛红发痒?做好这3点,拥有健康的正常肌肤资深敏感肌来报道,从高中起,我就挂着两个红脸蛋,感觉一天天的也挺自卑,但越到后边我越觉得没有人会喜欢你的自卑,还是要抬起头来自信一点,毕竟,还这么年轻,找到适合的方法,皮肤完全……琉璃单方面跟芒果解约?芒果向所有用户道歉,这是什么情况?芒果TV好惨啊,《琉璃》剧方前一天单方面和自己解约,美强惨芒果tv发布致歉声明称,《琉璃》无法按时在芒果TV播出了这件事情真是令人迷惑呀!怎么会发生这样的事呢?本来……样品木家具优缺点(乌金木家具的优缺点)样品木家具优缺点1、乌金木家具有很多的人会从样品字面上了解仿佛蕴含金属质优缺点感,由于长期在矿物中汲取养分和水份。的火热正正说明了它的优点是很多的,不管是横切面上一圈又一……抵挡不住?黑色来袭,男女老少都避不了!6类单品1口诀玩转穿搭黑色作为服装最基础色的存在,你对它是褒?是贬?还是想逃呢?逃不开的黑色诱惑就像心理一个最深刻的记忆,想避也避不了。黑色系单品无论男女老少都至少一件:比如黑色吊带、黑色衬衫……树脂大理石台面优缺点(大理石台面的优缺点)树脂大理石台面优缺点1、质地坚硬,而是仿石,还具有优缺点天然石材的质感,现在有一种树脂台面,清洗起来非常的简单和容易。是石灰石重结晶形成后的一种变质岩。指碳酸钙,而且不容……38岁车晓素颜看展妈味儿十足张歆艺二婚已生娃离婚未育的她后悔38岁的女演员车晓在娱乐圈一直很低调,她既不参加品牌大秀也不参与明星真人秀节目,喜欢她的粉丝们只能通过她主演的影视作品和车晓近距离接触了。近日,车晓一身休闲打扮出现在某商……
成年人心酸的交友现实有圈子,没交情Opinion作者卢璐来源卢璐说(公众号:lulublog)去年在国内有天,我和秋小天头对着头办公,有个供应商给了一个很玄虚的认证,我们两个都不懂。我想起来,我有个朋友一直……青游已播出两期,大家还在呼唤周深,一年前有人预言他会缺席《青春环游记》第三季,你看了没有?反正,小编在第一时间就去看了,毕竟期待了一年之久了呢,满怀期待。纵然没有了周深与朗朗,好在贾玲与杨迪都在,可是,节目还是变了些许味道。在……从北大天才到死刑犯,吴谢宇弑母本质还是因为他心里没有宽恕自己打开热搜,映入眼帘的是北大学子吴谢宇弑母被判死刑。他才不到三十岁,这样的学历与知识在最好的奋斗年纪,却被判死刑终结。他曾是所有父母眼中别人家的孩子,北大学霸,为什么……忠犬流浪记热映,你知道讲的是什么故事吗?《忠犬流浪记》又被称为国内版的《忠犬八公》,电影讲述的是一条狗狗与一名军人在队部中感情深厚,可是军人中途退役,留下了狗狗独自在部队中,但是过于思念主人,偷偷跑了出去,从此流浪街……杜妈白短袖黑挎包外扎腰说捐款说感谢,网友不忘初心就好了有人发了一段视频,视频里,是穿着白色短袖,夸张黑色包,外扎着要的杜妈,说着错换,说某医院给他们带来那么大的伤害。在请求爱心人士献出爱心,说姚策在化疗,放疗,是接受人们的爱……今日说法中最寒心的5个案例,离奇的吓哭!CCTV12是一种神奇的存在,为我们贡献了奇奇怪怪、怪怪奇奇的案子。真实案子!!1。案中案警方接到报案,一青年女子坠落公园湖中。经现场打捞,发现女子系骑电动车冲出桥……做人要做陈冠希?看完4张合照,就懂为何女星都喜欢和他玩了陈冠希可以说是风靡一时的男神,他曾迷倒过很多女生,却因为感情问题而被迫退出娱乐圈。如今陈冠希创立了自己的潮牌,转而做起了生意,回想他年轻时候的事迹,他在圈内的人缘真不是盖的。很……58岁大叔和女神认识10天便闪婚,如今,大叔却后悔了知乎上有个问题引起热议:闪婚的人现在怎么样了?下面的答案70为:闪婚的两个人缺乏沟通,太过冲动,是对婚姻不负责任,婚后一地鸡毛。还有30人认为,闪婚并不是说,……脑子不够矫情来凑,这帮人真给我看吐了很多喜爱文学的人都愿意收藏一些精巧的文章每每欣赏起来都会身心愉悦或者发人深省这就是文字带来的美妙之处但是也有人为了装逼摆文艺故作高雅地发一些自己也不懂的……偶像要优质,饭圈文化,更应该及时整改偶像,不仅要实力,更要正能量细数本土的选秀综艺,也走过了四个年头,从2018年的《偶像练习生》和《创造101》开始,节目组向娱乐圈输送了大量的爱豆,在丰富娱乐文化的同时,……娱乐圈第一白富美甩豪门二代,嫁小2岁清华男友,我又酸了朱珠,突然官宣结婚了!青年才俊美艳的女明星,好配!新郎名叫王昀佳,是圈外人,比朱珠小2岁。是个很俊的小伙子。两个人站在一起,真的蛮般配的但能娶到朱珠,也不是什……马伊琍怒赞的阴道哑铃,揭开了女性最羞耻的一幕作者:木棉姐姐来源:木棉说(ID:isslash)那些生产过后的妈妈们,都在默默地经历着什么?大家好,我是梨子。前几日,马伊琍转评了一篇文章,非常沉重。……
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网