"Dubbo常问面试题及协议比较详解"
需积分: 2 45 浏览量
更新于2024-01-16
收藏 1.26MB PDF 举报
Dubbo 是一种分布式服务框架,支持多种协议,每种协议都有不同的应用场景、优缺点。Dubbo 主要支持的协议有 dubbo、rmi、webservice 和 http。每种协议都有自己的特点和适用范围。
首先,dubbo 协议采用单一长连接和 NIO 异步通讯,适合大并发小数据量的服务调用,以及消费者远大于提供者的情况。传输协议为 TCP,异步传输,使用 Hessian 序列化。这种协议的优点是适用于大并发场景,能够有效降低网络开销和提高性能,但缺点是只支持 Java 语言,不适合跨语言调用。
其次,rmi 协议采用 JDK 标准的 rmi 实现,传输参数和返回参数对象需要实现 Serializable 接口,使用 java 标准序列化机制,使用阻塞式短连接,传输数据包大小混合,适用于消费者和提供者个数差不多,可传文件,传输协议为 TCP。这种协议适用于常规的远程服务调用和 rmi 互操作,但在依赖低版本的 Common-Collections 包和存在 java 序列化安全漏洞的情况下存在一定的安全风险。
另外,webservice 协议是基于 WebService 的远程调用协议,集成 CXF 实现,提供和原生 WebService 的互操作。该协议使用多个短连接,基于 HTTP 传输,同步传输,适用于系统集成和跨语言调用。webservice 协议的优点是支持跨语言调用,能够实现不同系统之间的互操作,但缺点是性能相对较低,适用场景相对较窄。
最后,http 协议是基于 Http 表单提交的远程调用协议,使用 Spring 的 HttpInvoke 实现。该协议适用于多个短连接,传输协议为 HTTP,传入参数大小混合,提供者个数多于消费者的场景。http 协议的特点是简单易用,但在大并发和高性能的场景下表现不佳。
总的来说,Dubbo 支持多种协议,每种协议都有自己的特点和适用范围。在选择合适的协议时,需要根据具体的业务场景和需求来进行选择,以达到最佳的性能和效果。
2023-11-02 上传
2020-03-28 上传
2020-09-04 上传
2021-08-02 上传
139 浏览量
2021-09-07 上传
2021-07-06 上传
2020-09-18 上传
她说那里是晒黑的
- 粉丝: 133
- 资源: 90
最新资源
- 火炬连体网络在MNIST的2D嵌入实现示例
- Angular插件增强Application Insights JavaScript SDK功能
- 实时三维重建:InfiniTAM的ros驱动应用
- Spring与Mybatis整合的配置与实践
- Vozy前端技术测试深入体验与模板参考
- React应用实现语音转文字功能介绍
- PHPMailer-6.6.4: PHP邮件收发类库的详细介绍
- Felineboard:为猫主人设计的交互式仪表板
- PGRFileManager:功能强大的开源Ajax文件管理器
- Pytest-Html定制测试报告与源代码封装教程
- Angular开发与部署指南:从创建到测试
- BASIC-BINARY-IPC系统:进程间通信的非阻塞接口
- LTK3D: Common Lisp中的基础3D图形实现
- Timer-Counter-Lister:官方源代码及更新发布
- Galaxia REST API:面向地球问题的解决方案
- Node.js模块:随机动物实例教程与源码解析