您的位置 首页 java

三分钟理解JAVA中的RPC技术到底是何物!

前言

RPC概念

RPC即远程过程调用(Remote Procedure Call),这么讲你可能不明白,画个图

这就是一个RPC场景

我习惯这么去理解: RPC(远程过程调用) 是一功能的称呼,这个功能就是客户端和服务端之间数据交互的过程,不是一个具体的技术/代码。就好比“软件开发”是一个笼统的描述,具体有 java 、c、go、.net、php等等….

RPC到底有什么呢?

1、 RPC核心过程

既然它的意思是客户端和服务端之间数据交互的过程,那包含了哪些东西?

rpc核心过程包括了客户端和服务端的 通讯协议 寻址 数据 序列化 /反序列化

举个例子,你(客户端)要一个外国人(服务端)帮你干一件事情,这就是RPC的过程,这个过程是这样的:

注意看3个核心过程

你可以选择飞过去 找一个外国人(寻址) 面对面的交谈(通信) ,要让她帮你干活,你们之间必须用一样的 语言(数据序列化) 进行交流。

2、 RPC协议

协议就是,详细的 规定了 上面说的RPC三个核心过程怎么样去实现。比如:规定协议是 tcp 还是udp,你通过什么方式去找到服务端的地址,请求/响应数据如何去组装。

http dubbo -rpc,rmi等很多协议都属于rpc范畴,如果你要基于他们去实现rpc,就得遵守它们这个协议。

就像你要去写一个http客户端,你就必须按照它的要求去实现,组装数据的方式也要按它的来。

3、 RPC框架

对上述核心过程进行了封装,不需要开发人员自己去定义协议、实现序列化的细节工作,这样的组件称为RPC框架,常见的框架比如: thrift ,gRpc,dubbo,motan 。

4、 写在最后

rcp技术被称为 分布式系统 的基石,在互联网公司应用是最广泛的,如果你长期重复没技术含量的工作,还没有接触过这些分布式系统开发技术,一定用心学习,提升自己的竞争力。

图片转自网络,侵删

大型公司都会搞自己的一套RPC框架,你懂了核心原理,就会发现没什么区别,万变不离其中!

今天的知识你明白了吗?不明白的地方可以留言或私信一起讨论哦!

每天收获一点点,坚持带来大改变!

文章来源:智云一二三科技

文章标题:三分钟理解JAVA中的RPC技术到底是何物!

文章地址:https://www.zhihuclub.com/194767.shtml

关于作者: 智云科技

热门文章

网站地图