zoukankan      html  css  js  c++  java
  • RPC、RMI、HTTP、REST的区别

    RPCRMIHTTPREST的区别

    RPC远程服务调用(Remote Procedure Call),加上Protocol后可以称为远程过程调用协议,可以用不同的语言实现,可以借用HTTP协议或者其他协议来实现,一般都是通过基于TCP/IP的自定义协议实现。

    HTTP协议和TCP/IP协议有什么关系呢?HTTP是应用层协议,TCP/IP是传输层协议。

    HTTP协议请求中会包含很多内容,传输效率要低,一般RPC实现都不采用HTTP协议RPC采用自定义的TCP协议,可以精简报文格式,一般都是采用二进制形式,客户端和服务端采用统一的序列化和反序列化方式保持数据统一,效率更高,所以一般企业内部通信都是采用自定义TCPRPC协议,传输效率高。

    HTTP超文本传输协议(HyperText Transfer Protocal),是应用层的一种网络传输协议,一般格式都是json或者xml,也是基于TCP/IP实现的。

    REST是一种架构风格,是基于HTTP协议的,可以理解称一种API的规范,比如查询都是GET请求,新增都是POST,修改是PUT,删除是DELETE等。

     

    RMI远程方法调用(Remote Method Invocation),是一种用于实现RPCjava API,仅仅应用在java程序上,依赖于JVM,因为他仅仅支持从一个JVM到另一个JVM的调用。

     

    企业内部的微服务数据传输都是采用自定义的rpc实现的,传输效率更高;http一般是面向用户的,规范统一,用户使用起来方便,直接通过浏览器地址访问接口即可。

  • 相关阅读:
    简单实用游标更改数据
    C# Http以文件的形式上传文件
    简单例子理解数据库事务
    安卓 隐藏按钮
    jQuery EasyUI API 中文文档
    Linux搭建Tomcat环境
    linux教程之一
    Android服务之PackageManagerService启动源码分析
    DSP、Media、AdExchanger之间的关系及交互流程
    Unity3D中的Coroutine具体解释
  • 原文地址:https://www.cnblogs.com/buou/p/11146505.html
Copyright © 2011-2022 走看看