RPC远程过程调用

RPC(Remote Procedure Call Protocal) -远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议

 

在OpenStack里的进程通信方式有两种,一种基于HTTP协议的restful api,另一种则是RPC调用

  • 前者(RESTful)主要用于各组件之间的通信(如nova与glance的通信),或者说用于组件对外提供调用接口
  • 而后者(RPC)则用于同一组件中各个不同模块之间的通信(如nova组件中nova-compute与nova-scheduler的通信)。

使用方式不同

  • REST 是服务端把方法写好,客户端并不知道具体方法。客户端只想获取资源,所以发起HTTP请求,而服务端接收到请求后根据URI经过一系列的路由才定位到方法上面去
  • PRC是服务端提供好方法给客户端调用,客户端需要知道服务端的具体类,具体方法,然后像调用本地方法一样直接调用它。

面向对象不同

  从设计上来看,RPC,所谓的远程过程调用 ,是面向方法的 ,REST:所谓的 Representational state transfer ,是面向资源的,除此之外

序列化不同:

  REST 通常是JSON或者XML,而RPC则是JSON-RPC或者XML-RPC

 

转载于:https://www.cnblogs.com/wongbingming/p/11086773.html

posted @ 2020-09-15 16:50  coding天荒地老  阅读(164)  评论(0编辑  收藏  举报