rpc和soap有什么区别呢?
一、rpc和soap的区别
1. 交互数据的编解码方式不同
Rpc一般采用自定义协议或者常见的二进制协议,也有用JSON的。而SOAP采用XML,REST就是JSON了。
2. 用户感知的行为方式不同
SOAP和REST,两端的业务开发都能够感知到这是在收发一次网络请求。而RPC给上层业务的感觉,就像是一个本地调用。
3.RPC的性能会更好
rpc是远程调用,有多种方式实现,基本上包含了传输方式和对象反序列化序列化方式的组合。
4.SOAP和REST一般都跟语言无关
soap只是其中的一种方式,基于http传输约定格式的xml, 用wsdl描述,由于比较啰嗦,之前在企业应用的比较多,互联网上已经用的比较少了,一般用json over http的restful比较多,还有一些追求效率更高的rpc方式连http也不用,用另外的编码方式的数据直接走socket,比如thrift, protobuf之类。
延伸阅读:
二、rpc是什么
RPC(Remote Procedure Call)是远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。
RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。
RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。
和MQ做对比: MQ有一个中间节点queue,可以存储消息 RPC的特性: 同步调用,对于需要等待返回结果的场景,可以使用RPC 消息MQ的特性: 异步单向的消息,不需要等待消息处理完成 如果需要同步得到结果的场景,RPC比较适合,如果希望使用简单,RPC也适合,RPC操作基于接口,操作简单,使用的方式模拟本地方法的调用,异步的方式编程比较复杂
以上就是关于rpc和soap的区别的内容希望对大家有帮助。
相关推荐HOT
更多>>数据屏蔽有哪些一般规则?
一、数据屏蔽的一般规则数据屏蔽技术需要遵循一些规则,以便转换后的数据仍然有用。1、数据屏蔽必须是不可逆的一旦数据屏蔽技术转换了真实数据...详情>>
2023-10-11 06:00:16基础设施即代码 (IaC) 有哪些优势?
一、基础设施即代码 (IaC)的优势借助自动化流程,IaC 协助企业以多种方式管理其 IT 基础设施需求。以下是部署 IaC 的部分优势:1、提高一致性Ia...详情>>
2023-10-11 03:45:03什么是数据联合?
一、什么是数据联合数据联合是允许多个数据库作为一个数据库运行的软件过程。该虚拟数据库从各种来源获取数据,并将它们全部转换为通用模型。这...详情>>
2023-10-11 00:48:14人才管理领域的主要趋势有哪些?
一、人才管理领域的主要趋势有哪些如今,人们的工作和生活越来越融为一体,企业也在转变其运营模式。各种趋势正在重塑人才管理战略,助力员工取...详情>>
2023-10-10 23:15:27