Dubbo 19道面试题及答案.docx
需积分: 0 197 浏览量
更新于2023-06-15
收藏 15KB DOCX 举报
Dubbo 是阿里巴巴开源的一款高性能、轻量级的RPC(Remote Procedure Call)框架,它提供了服务自动注册、自动发现等高效的服务治理方案,并且能够与Spring框架无缝集成,简化了分布式服务的开发和管理。Dubbo的主要目标是提高系统的伸缩性和可扩展性,通过透明化的远程方法调用,使得开发者可以像调用本地方法一样调用远程服务。
Dubbo适用于以下场景:
1. 透明化的远程调用:开发者无需关注远程通信细节,只需要像调用本地方法一样调用远程服务。
2. 软负载均衡和容错机制:Dubbo内置了多种负载均衡策略,如随机、轮询等,能够在服务消费者端实现负载均衡,同时提供了故障切换机制,保证服务的高可用性。
3. 服务自动注册与发现:服务提供者在启动时会将自身信息注册到注册中心,服务消费者则可以通过注册中心找到所需服务的提供者,动态调整服务地址,实现服务的动态扩展。
Dubbo的核心功能包括:
1. Remoting:网络通信框架,提供多种NIO框架的抽象封装,支持同步和异步的消息交换方式。
2. Cluster:服务框架,提供透明的远程过程调用,支持多协议,以及软负载均衡、故障容错和地址路由等功能。
3. Registry:服务注册,服务提供者和服务消费者通过注册中心进行服务的注册和发现。
Dubbo的主要组件包括:
1. Provider:服务提供者,负责暴露服务。
2. Consumer:服务消费者,负责调用远程服务。
3. Registry:服务注册中心,存储服务提供者和消费者的信息。
4. Monitor:监控中心,收集服务调用的统计信息。
5. Container:服务运行容器,用于承载服务的运行环境。
Dubbo支持多种通信协议,包括:
1. Dubbo协议:适用于大并发、小数据量的场景,采用单一长连接和NIO异步通信。
2. RMI协议:基于JDK的RMI标准,适合常规的远程服务调用,但可能存在安全漏洞。
3. WebService协议:基于CXF实现,支持与其他Web Service的互操作。
4. HTTP协议:基于Http表单提交,适用于浏览器和JS调用。
5. Hessian协议:基于HTTP和Servlet,与Hessian服务互操作。
6. Memcache和Redis协议:基于这两种缓存技术实现的RPC协议。
推荐使用Dubbo协议,因为它具有较高的性能和较低的网络开销。
Dubbo支持多种注册中心,如Multicast、Zookeeper、Redis和Simple。当注册中心集群挂掉时,由于服务消费者的地址信息已经缓存在本地,所以仍能继续通信,但无法获取新的服务提供者信息。
Dubbo默认使用的通信框架是Netty,它是一个高效的异步事件驱动的网络应用框架,用于快速开发可维护的高性能协议服务器和客户端。Netty提供了丰富的编解码器,支持多种网络协议,为Dubbo提供了稳定、高效的网络通信能力。
红红火火a
- 粉丝: 23
- 资源: 1813
最新资源
- 【岗位说明】物业保安人员岗位职责.doc
- 【岗位说明】物业有限公司综合部厨工岗位职责.doc
- 【岗位说明】物业管理处环境部绿化工岗位职责.doc
- 龙门式6点伺服可调中频逆变电阻焊机sw19全套技术资料100%好用.zip
- 【岗位说明】陶瓷部门职能岗位职责.doc
- 【岗位说明】最新实用陶瓷企业生产规范岗位说明书.doc
- 【岗位说明】陶瓷部门职能岗位职责.docx
- 【岗位说明】电力公司岗位职责.docx
- 【岗位说明】电网公司岗位职责02.doc
- 【岗位说明】电力公司岗位职责.doc
- 【岗位说明】电力公司岗位职责说明02.doc
- 【岗位说明】电力施工项目经理岗位职责.doc
- 【岗位说明】供电公司部门职责.doc
- 【岗位说明】苏州电力公司人力资源部主任岗位职责描述.doc
- 【岗位说明】某电力公司客户经理岗位职责描述.doc
- 【岗位说明】石油开采岗位责任制.doc