dubbo——RPC

一、RPC的定义

 RPC:是Remote Procedure Call的缩写,中文名远程过程调用。RPC协议是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一个地址空间(通常为一个开发网络的一台计算机)的子程序,而程序员就像调用本地程序一样,无需额外地为这个交互作用编程。如果涉及的软件采用面向对象编程,那么远程过程调用亦可称为远程方法调用,例:Java RMI。

RPC有以下优势:

简单。RPC的语义十分清晰简单,便于建立分布式系统

高效。能高效的实现远程过程调用。

通用。RPC导出的服务可以供多个使用者用于不同的目的

二、RPC调用过程

1 客户端调用客户端的stub(client stub)。这个调用是在本地,并将调用参数push到栈(stack)中。

2 客户端stub(client stub)将这些参数包装,并通过系统调用发送到服务器机器。打包的过程叫marshalling。(常见方式:XML、JSON、二进制编码)

3 客户端本地操作系统发送信息至服务器。(可通过自定义的TCP协议或HTTP协议传输)

4 服务器系统将信息传送至服务端stub(server stub)。

扫描二维码关注公众号,回复: 9804999 查看本文章

5 服务端stub(server stub)解析信息。这个过程叫unmarshalling。

6 服务端stub(server stub)调用程序,并通过类似的方式返回给客户端。

三、RPC的发展

四、RPC的简单实现

五、dubbo的入门实例

猜你喜欢

转载自www.cnblogs.com/wqff-biubiu/p/12484076.html