Dubbo分布式框架详解:架构、特点和应用场景
需积分: 0 147 浏览量
更新于2024-08-03
收藏 16KB DOCX 举报
Dubbo 面试题及答案总结
作为一个分布式框架,Dubbo 提供了远程服务调用的功能,其核心部分包含集群容错、远程通讯和自动发现三个主要组件。
**集群容错**
集群容错是 Dubbo 的核心组件之一,提供了基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡、失败容错、地址路由、动态配置等集群支持。 Dubbo 的集群容错机制可以在内网替代 F5 等硬件负载均衡器,降低成本,减少单点故障。
**远程通讯**
Dubbo 的远程通讯组件提供了对多种基于长连接的 NIO 框架抽象封装,包括多种线程模型、序列化,以及“请求-响应”模式的信息交换方式。 Dubbo 的远程通讯机制可以实现透明化的远程方法调用,就像调用本地方法一样调用远程方法,只需简单配置,没有任何 API 侵入。
**自动发现**
Dubbo 的自动发现组件基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器。 Dubbo 的自动发现机制可以实现服务自动注册与发现,不再需要写死服务提供方地址,注册中心基于接口名查询服务提供者的 IP 地址,并且能够平滑添加或删除服务提供者。
**通信框架**
Dubbo 的默认通信框架是 Netty 框架,但是也支持 Mina 框架。 Netty 框架是一个基于 Java 的异步 I/O 框架,提供了高性能、低延迟的网络编程模型。
**服务调用**
Dubbo 的服务调用默认是阻塞的,但是可以异步调用,没有返回值的可以这么做。 Dubbo 的服务调用机制可以实现透明化的远程方法调用,就像调用本地方法一样调用远程方法,只需简单配置,没有任何 API 侵入。
**注册中心**
Dubbo 的注册中心是 ZooKeeper,另外还有 Multicast 注册中心、Redis 注册中心、Simple 注册中心等选择。 ZooKeeper 是一个分布式应用程序协调服务,提供了高可用、高性能的注册中心服务。 ZooKeeper 的节点是通过像树一样的结构来进行维护的,并且每一个节点通过路径来标示以及访问。
**序列化框架**
Dubbo 的默认序列化框架是 Hessian 序列化,另外还有 Duddo、FastJson、Java 自带序列化等选择。 Hessian 序列化是一个采用二进制格式传输的服务框架,相对传统 SOAPWebService,更轻量,更快速。 Hessian 序列化机制可以实现高性能的数据传输,减少网络带宽占用。
**Hessian 序列化原理**
Hessian 序列化的原理是基于 HTTP 协议的,Hessian 将辅助信息封装在 HTTP 头中,比如“授权 token”等,Hessian 提供了简单的“校验”机制。 Hessian 序列化的交互核心数据,比如“调用的方法”和参数列表信息,将通过 POST 请求的 body 体直接传输。
Dubbo 是一个功能强大、灵活的分布式框架,提供了远程服务调用的功能,包含集群容错、远程通讯和自动发现三个主要组件。 Dubbo 的通信框架、注册中心和序列化框架可以根据实际情况进行选择和配置。
2023-06-14 上传
2023-06-15 上传
2023-06-15 上传
2023-06-06 上传
2023-06-09 上传
2023-10-23 上传
2023-07-15 上传
2023-08-06 上传
2023-09-02 上传
栾还是恋
- 粉丝: 34
- 资源: 5321
最新资源
- MATLAB新功能:Multi-frame ViewRGB制作彩色图阴影
- XKCD Substitutions 3-crx插件:创新的网页文字替换工具
- Python实现8位等离子效果开源项目plasma.py解读
- 维护商店移动应用:基于PhoneGap的移动API应用
- Laravel-Admin的Redis Manager扩展使用教程
- Jekyll代理主题使用指南及文件结构解析
- cPanel中PHP多版本插件的安装与配置指南
- 深入探讨React和Typescript在Alias kopio游戏中的应用
- node.js OSC服务器实现:Gibber消息转换技术解析
- 体验最新升级版的mdbootstrap pro 6.1.0组件库
- 超市盘点过机系统实现与delphi应用
- Boogle: 探索 Python 编程的 Boggle 仿制品
- C++实现的Physics2D简易2D物理模拟
- 傅里叶级数在分数阶微分积分计算中的应用与实现
- Windows Phone与PhoneGap应用隔离存储文件访问方法
- iso8601-interval-recurrence:掌握ISO8601日期范围与重复间隔检查