• 首页
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案
目录

rpc和soap有什么区别呢

rpc和soap的区别有:1. 交互数据的编解码方式不同;2. 用户感知的行为方式不同;3.RPC的性能会更好;4. SOAP和REST一般都跟语言无关。其中,Rpc一般采用自定义协议或者常见的二进制协议,也有用JSON的。

一、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的区别的内容希望对大家有帮助。

一站式研发项目管理平台 PingCode

一站式研发项目管理平台 PingCode

支持敏捷\瀑布、知识库、迭代计划&跟踪、需求、缺陷、测试管理,同时满足非研发团队的流程规划、项目管理和在线办公需要。

相关文章