美文网首页
RPC的发展历程

RPC的发展历程

作者: 笨比乔治 | 来源:发表于2020-11-08 08:48 被阅读0次

1,RPC的特点

随着移动互联网的高速发展,面对不断增长的用户量及海量的请求,后端基本是规模庞大的分布式集群
其中,RPC(远程过程调用),便是其中的核心技术
RPC是一种通过网络,向远程计算机请求服务,而不需要了解其底层网络技术的协议。
RPC协议,以传输协议为基础,为两个不同的应用程序间传递数据。
RPC采用客户端/服务端工作模式。

2,基于http调用restful服务和基于TCP协议封装的RPC框架调用服务有什么区别?

调用RESTful服务时,我们需要采用HttpClient的方式发送请求,同时需要对返回的数据去解析状态,返回值等等
采用RPC的方式调用服务,则如同调用本地服务一样,不必关心网络通信的细节

3,基于TCP协议封装的RPC框架的工作原理

Socket套接字

网络上的两个程序,通过一个双向的通信连接,实现数据的交换,这个连接的一端就称为套接字
Socket包含两部分(IP地址+端口号)
Java为我们提供的Scoket分为客户端和服务端,分别是Socket和ServerScoket

本地调用是如何实现的?

首先,程序被编译成具体CPU提供的机器指令
然后,在调用本地程序时,先将下一条指令的地址压入堆栈,并将控制权转移到当前调用程序的地址
当被调用的程序完成时,它会发出一个返回指令,并从栈顶弹出之前保存的地址,并将控制权转移回来。
A->B->C

远程调用会遇到的问题

以上的本地调用机制在RPC是不可行的,因为编译器无法通过编译的方法实现远程过程调用机制
因此,RPC远程调用是构建在语言级别上的,必须使用Socket来完成。
所以RPC的实现=本地方法调用+Scoket网络通信技术

具体如何实现?

关键是创建“客户端存根”,存根就像是代理模式中的代理,在生成代理代码后,代理的代码就可以跟远程服务端通信了
具体通信的图如下:

image

4,主流的RPC框架

阿里巴巴的HSF(好舒服),Dubbo(开源)
Facebook的Thrift(开源)
Google的gRPC(开源)
Twitter的Finagle(开源)
微博平台的Motan
mRPC

5,RPC框架带来的好处

我们编写分布式程序将变得简单,无需关注底层的通讯机制,套接字,端口,数据转换等细节问题

6,Java与RPC

Java RMI(Remote Method Invocation,远程方法调用),是java专有的RPC协议和框架。

相关文章

  • RPC框架的实现原理,及RPC架构组件详解

    微服务系列:RPC框架的实现原理,及RPC架构组件详解 RPC的由来 随着互联网的发展,网站应用的规模不断扩大,常...

  • 发展历程

    14年融资5000万 15年融资8500万 16年挂牌新三板,同年营收1亿,垂直情趣第二名 17年营收1亿4000...

  • iOS发展

    发展历程

  • RPC和分布式系统服务化

    背景 随着微服务的发展,我们的难免会引入一些rpc框架去帮我处理远程调用,今天简单介绍一下背后的实现和发展 rpc...

  • INE发展历程

    INE发展历程

  • 婚姻的发展历程

    古人云:“有天地,然后有万物,有万物然后有男女,然后有夫妇,有父子,然后有君臣。”根据史书记载,人类在最初,男女之...

  • JAVA的发展历程

    JAVA的由来简介 在1991年时候,James Gosling(下文简称高斯林)在sun公司的工程师小组想要设计...

  • 平台的发展历程

    好,那么我们今天晚上的去一起分享。我学习探讨的一个话题呢,就是我们每一个碧泉的投资者。都是比较熟悉的。交易所。 那...

  • 前端的发展历程

    一、静态页面阶段 互联网发展的早期,网站的前后端开发是一体的,即前端代码是后端代码的一部分。1.后端收到浏览器的请...

  • IDC的发展历程

    IDC(Internet Dynamics Corporation)是指为互联网内容提供商(ICP)、企业、媒体和...

网友评论

      本文标题:RPC的发展历程

      本文链接:https://www.haomeiwen.com/subject/mhqemktx.html