• 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一般是面向用户的,规范统一,用户使用起来方便,直接通过浏览器地址访问接口即可。

  • 相关阅读:
    0xx_nodeJS
    0xx_jQuery
    0xx_正则表达式
    0xx_ES6
    centos重启关机命令
    tomcat服务开机启动脚本
    mysql授权总结
    centos创建文件命令
    svn如果无法连接有可能导致右键卡
    简单导出excel
  • 原文地址:https://www.cnblogs.com/buou/p/11146505.html
Copyright © 2020-2023  润新知