
联系人
李经理

电话
0531-88581615

手机
13864088976

185437481

邮箱
185437481@qq.com

地址
山东省济南市历城区大桥路西侧零点物流以北济南电子商务物流园2-312号
您当前的位置: 山东小区广告道闸厂家首页 > 新闻资讯 > 最新整理的22道常见Dubbo面试题你全都会吗?
2019-12-28 15:25:39
你知道所有新组织的22种常见的杜博面吗?
我每天都分享java文章,程序员可以关注我的专栏。
有人带你去认识爪哇
序言:
春天尤里卡已经从开源变成了开源,卡尔正在崛起,杜博又开始更新了。目前,市场上仍有许多公司使用dubbo,我们也需要继续学习。我想和你分享22个杜博的答案。由于篇幅有限,本文中只有前12个答案。那些需要其他答案的人可以写信给我“杜博”。
什么是杜博
Dubbo是一个分布式框架,一个用于远程服务调用的分布式框架,其核心部分包括:
集群容错:基于接口方法提供透明的远程过程调用,包括多协议支持,以及集群支持,如软负载平衡、故障容错、地址路由、动态配置等。
电信:提供基于长连接的多个NIO框架的抽象封装,包括多线程模型、序列化和“请求-响应”模式下的信息交换。
自动发现(Automatic discovery):基于注册中心的目录服务,服务消费者可以动态检查提供商,地址是透明的,服务提供商可以平稳地增减机器。
杜博能做什么
透明的远程方法调用,就像本地方法一样,需要简单的配置,并且没有应用编程接口入侵。
软负载平衡和容错机制可以取代F5和内部网中的其他硬件负载平衡器,以降低成本和单点。
服务自动注册和发现,不再需要写服务提供商地址,注册中心根据接口名称查询服务提供商的IP地址,并可以顺利添加或删除服务提供商。
3.默认情况下使用什么通信框架,还有其他选择吗?
答:默认情况下也推荐netty framework和mina。
4.杜博总的建筑设计有哪些层次?
接口服务层:该层与业务逻辑相关,根据供应商和客户的业务设计相应的接口和实现
配置层(Config):外部配置接口,以服务配置和参考配置为中心。
服务代理层:服务接口的透明代理,生成服务的客户端存根和服务器的骨架,以服务代理为中心,将接口扩展为代理工厂
服务注册层(注册表):封装服务地址的注册和发现,以服务网址为中心,并将接口扩展到注册表工厂、注册表、注册表服务
路由层(Cluster):封装多个提供商的路由和负载平衡,桥接注册中心,以Invoker为中心,并将接口扩展到集群、目录、路由器和负载平衡中心
监视器):监控RPC调用时间和调用时间,以统计为中心,扩展接口为监视器工厂、监视器和监视器服务
远程调用层(协议):封装RPC调用,以调用和结果为中心,扩展接口是协议、调用方和导出方
交换:封装请求响应模式,同步到异步。扩展接口以请求和响应为中心,分别是交换机、交换通道、交换客户端和交换服务器。
网络传输层:抽象mina和netty是统一的接口,消息是中心,扩展接口是通道、传输器、客户端、服务器和编解码器。
数据序列化层:具有序列化、对象输出、对象输出和线程池扩展的可重用工具
5.服务呼叫被阻止了吗?
答:默认情况下,它被阻止,可以异步调用。如果没有返回值,这是可以做到的。
Dubbo是一个基于NIO的并行调用的非阻塞实现。客户端可以完成对多个远程服务的并行调用,而无需启动多线程。与多线程相比,开销相对较小,异步调用将返回一个Future对象。
6.你通常使用哪种注册中心?还有其他选择吗?
答:推荐动物园管理员注册中心、组播注册中心、再分发注册中心和简单注册中心。
动物园管理员(ZooKeeper)的节点是通过树状结构维护的,每个节点都通过一条路径进行标记和访问。
此外,每个节点都有自己的信息,包括数据、数据长度、创建时间、修改时间等。
7.默认情况下,您使用什么序列化框架?您还知道什么?
答:默认情况下使用Hessian序列化,以及Duddo、FastJson和Java自己的序列化。黑森是以二进制形式传输的服务框架
2) hessian将辅助信息封装在http头中,例如“授权令牌”。我们可以基于http头封装“安全检查”和“元数据”。黑森提供了一个简单的“检查”机制。
3)对于hessian的交互核心数据,如“被调用方法”和参数列表信息,将以字节流格式直接通过测试请求体发送。
4)黑森的服务器端响应数据将分别按字节流直接输出。
黑森的协议本身并不复杂,这里不再重复。所谓的协议是约束数据的格式。客户端根据协议将请求信息序列化为字节序列,并将其发送给服务器。服务器根据协议将数据反序列化为“对象”,然后执行该方法,根据协议将该方法的返回值再次序列化为字节流,并响应客户端。客户端根据协议将字节流反序列化为“对象”。
8.服务提供商能够实现失败启动的原则是什么?
答:服务失败引发了基于动物园管理员的临时节点原则。
9.为什么服务启动不影响旧版本?
答:多版本开发不会影响旧版本。向配置中添加版本以区分版本
10.如何解决服务呼叫链过长的问题?
答:分布式服务可以结合zipkin来实现。
11.核心配置是什么?
核心配置是:
1)dubb o :s service/
2)dub bo :参考/
3)dub bo :协议/
4) dubbo:registry/
5)dub bo :应用/
6) dubbo:provider/
7) dubbo:cumer/
8)dub bo :方法/
12.杜博推荐什么协议?
答:默认使用dubbo协议。
13.当进行多次注册时,同一服务可以直接连接到一个服务吗?
14.杜博是如何解决安全机制的?
15、集群容错怎么办?
16.你在使用过程中遇到了什么问题?如何解决它?
杜博和杜博有什么不同?
18.你知道其他分布式框架吗?
19.Dubbo支持哪些协议,应用场景,每个协议的优缺点?
21、如何解决服务呼叫超时问题
22.Dubbo服务已降级。如果失败并重试呢?
在此之后,我想重申,我欢迎爪哇的工程师和朋友私下给我写信,让我免费获得其余的答案。还有更多免费的Java架构学习材料,涵盖了互联网的各个方面。在此期间,我在各种产品和场景中遇到了各种问题。我希望我能帮助你拓展你的技术广度和知识。
记住你必须注意我。我会不时给你好处,包括整理脸、学习材料、源代码等等~
李经理
0531-88581615
13864088976
185437481
185437481@qq.com
山东省济南市历城区大桥路西侧零点物流以北济南电子商务物流园2-312号