首页 > 技术文章 > 初识RPC

C-F-Cooper 2017-08-19 19:21 原文

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框架

 

推荐阅读