常见远程调用协议

举报
浅羽技术 发表于 2022/10/05 01:03:38 2022/10/05
【摘要】 RMI协议RMI 协议采用 JDK 标准的 java.rmi.*实现,采用阻塞式短连接和 JDK 标准序列化方式,Java 标准的远程调用协议。连接个数:多连接连接方式:短连接传输协议:TCP传输方式:同步传输序列化:Java 标准二进制序列化适用范围:传入传出参数数据包大小混合,消费者与提供者个数差不多,可传文件。适用场景:常规远程服务方法调用,与原生 RMI 服务互操作 Hessian...

RMI协议

RMI 协议采用 JDK 标准的 java.rmi.*实现,采用阻塞式短连接和 JDK 标准序列

化方式,Java 标准的远程调用协议。

连接个数:多连接

连接方式:短连接

传输协议:TCP

传输方式:同步传输

序列化:Java 标准二进制序列化

适用范围:传入传出参数数据包大小混合,消费者与提供者个数差不多,可传

文件。

适用场景:常规远程服务方法调用,与原生 RMI 服务互操作

Hessian协议

Hessian 协议用于集成 Hessian 的服务,Hessian 底层采用 Http 通讯,采用

Servlet 暴露服务,Dubbo 缺省内嵌 Jetty 作为服务器实现

基于 Hessian 的远程调用协议。

连接个数:多连接

连接方式:短连接

传输协议:HTTP

传输方式:同步传输

序列化:Hessian 二进制序列化适用范围:传入传出参数数据包较大,提供者比消费者个数多,提供者压力较

大,可传文件。

适用场景:页面传输,文件传输,或与原生 hessian 服务互操作

http

采用 Spring 的 HttpInvoker 实现

基于 http 表单的远程调用协议。

连接个数:多连接

连接方式:短连接

传输协议:HTTP

传输方式:同步传输

序列化:表单序列化(JSON)

适用范围:传入传出参数数据包大小混合,提供者比消费者个数多,可用浏览

器查看,可用表单或 URL 传入参数,暂不支持传文件。

适用场景:需同时给应用程序和浏览器 JS 使用的服务。

Webservice

基于 CXF 的 frontend-simple 和 transports-http 实现

基于 WebService 的远程调用协议。

连接个数:多连接

连接方式:短连接

传输协议:HTTP

传输方式:同步传输

序列化:SOAP 文本序列化

适用场景:系统集成,跨语言调用。

Thrif

Thrift 是 Facebook 捐给 Apache 的一个 RPC 框架,当前 dubbo 支持的 thrift

协议是对 thrift 原生协议的扩展,在原生协议的基础上添加了一些额外的头信

息,比如 service name,magic number 等

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。