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框架
来源:https://www.cnblogs.com/C-F-Cooper/p/7397669.html