当前位置: 首页 > news >正文

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

 

转载于:https://www.cnblogs.com/buou/p/11146505.html

相关文章:

  • apache日志轮询技术(cronolog and rotatelogs)小结
  • Lambda表达式和匿名方法中不支持yield return
  • 通过HTML调用C# [架构]
  • 创建dynamics CRM client-side (五) - 使用regular expression (正则表达式)来检查phone number...
  • C# 中 LISTVIEW用法
  • 【基本数据结构】并查集-C++
  • 如何将数据库从SQL Server迁移到MySQL
  • 回溯算法
  • JS 弹出窗口(DZ论坛)
  • Linux 用epoll实现的简单http服务器
  • Oracle 10g在RHEL6上的另类安装方法
  • 易经读书笔记14火天大有
  • 《Applications=Code+Markup》读书札记(1)——一个简单的 WPF 程序
  • 剑指offer系列25:把数组排成最小的数
  • 分层网络模型
  • Android框架之Volley
  • Django 博客开发教程 8 - 博客文章详情页
  • HTTP那些事
  • Java Agent 学习笔记
  • leetcode388. Longest Absolute File Path
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • Protobuf3语言指南
  • Sequelize 中文文档 v4 - Getting started - 入门
  • Spark RDD学习: aggregate函数
  • 给第三方使用接口的 URL 签名实现
  • 技术胖1-4季视频复习— (看视频笔记)
  • 聊一聊前端的监控
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 协程
  • 译有关态射的一切
  • ​​​​​​​​​​​​​​Γ函数
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #include
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • (10)ATF MMU转换表
  • (二)斐波那契Fabonacci函数
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (一)VirtualBox安装增强功能
  • (转)setTimeout 和 setInterval 的区别
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • .Net Remoting(分离服务程序实现) - Part.3
  • .NET Standard 的管理策略
  • .Net 代码性能 - (1)
  • .net 获取url的方法
  • .NET 将多个程序集合并成单一程序集的 4+3 种方法
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • .Net程序帮助文档制作
  • // an array of int
  • @TableLogic注解说明,以及对增删改查的影响
  • [14]内置对象
  • [2019.3.5]BZOJ1934 [Shoi2007]Vote 善意的投票
  • [4.9福建四校联考]