初识RPC

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初识RPC相关的知识,希望对你有一定的参考价值。

RPC:Remote Procedure Call Protocol(远程过程调用协议)

在分布式系统中,不同的应用或者服务部署在不同的服务器上,不同的服务器之间相互调用不在同一内存空间,也是不同进程之间的调用,为了解决此类问题,才有了RPC框架。那么RPC框架主要解决了哪些问题?往下看:

1、首先解决的是通讯的问题,客户端与服务端建立连接,可以是按需连接,也可以是长连接,建立连接后才能在这个连接中传输数据。

2、解决寻址问题,假如客户端要连接服务端,RPC框架必须知道服务端的IP及端口,当客户端需要连接的时候,RPC框架告诉客户端IP及端口。

3、客户端传参问题,当客户端与服务端建立连接后,客户端要调用服务端的方法,需要将参数编码并序列化传给服务端。

4、服务端接收到客户端传来的参数后,反序列化并解码参数,将数据处理完成后再编码并序列化传给客户端。

常用的RPC框架都有哪些呢?

1、RMI:java自带的远程方法调用

2、hessian:基于HTTP的远程方法调用

技术分享

3、Dubbo:淘宝开源的基于TCP的RPC框架

技术分享

 

以上是关于初识RPC的主要内容,如果未能解决你的问题,请参考以下文章

微服务开源框架TARS的RPC源码解析 之 初识TARS C++服务端

protobuf初识

protobuf初识

初识WebAPI

初识gRPC

akka初识Akka 简单介绍