1、RPC是一种技术框架的称呼,不是某种具体协议,不局限于某种协议,RPC顾名思义就是远程过程调用,其核心思想是,RPC客户端调用远程服务器上的接口完成过程调用,远程服务器把结果返回。

2、RPC的最底层仍然是socket来实现服务器之间的网络通信。但是,socket之上,在哪一层实现RPC调用,则可以有两大类,一类是基于TCP实现的,一类是基于HTTP实现的。

基于TCP实现的RPC,参见参考文档中“基于TCP和HTTP协议的RPC简单实现”

基于HTTP实现的RPC,根据数据序列化的方式分为XML和JSON两种,即XML-RPC和JSON-RPC,实践见文档:

http://www.cnblogs.com/zhouhaibing/p/7005235.html

3、RPC实现了客户端和服务器端之间的一对一的关系,现实情况是,RPC的客户端应用分布在多个服务器上,RPC的服务器端也分布在多个服务器上,此时就不可能让客户端指定某个服务器的方式进行远程调用,于是,消息队列派上用场。

4、openstack中大量使用的消息队列是rabbitMQ,但是为了屏蔽具体实现,以及可以替换成其他产品实现,于是在AMQP上抽象了 oslo_message 公共库,关系如下:

参考文档:

1、OpenStack的oslo_messaging组件使用  http://blog.csdn.net/gj19890923/article/details/50278669

2、Neutron-server初始化 — RPC服务初始化  http://blog.csdn.net/qiqishuang/article/details/52056511

3、基于TCP和HTTP协议的RPC简单实现 http://blog.csdn.net/xlgen157387/article/details/53543009

4、

最新文章

  1. CentOS下VMware用桥接模式,静态ip上外网
  2. php 选择排序法
  3. Syncfusion的社区许可及免费电子书和白皮书
  4. PowerShell调用jira rest api实现jira统计自动化
  5. 读书笔记--编程珠玑II
  6. 获取Spring的上下文环境ApplicationContext的方式
  7. Android 出现警告Exported service does not require permission
  8. Python之路Day7
  9. 乐在其中设计模式(C#) - 策略模式(Strategy Pattern)
  10. [ZZ] python 语言技巧
  11. Debian安装 ss-qt5
  12. __x__(4)0905第二天__软件架构
  13. Oracle分析函数-first_value()和last_value()
  14. (32)forms组件(渲染自建规则:局部钩子函数和全局钩子函数)
  15. 服务器 nginx配置 防止其他域名绑定自己的服务器
  16. 边沿检测方法-FPGA入门教程
  17. Delphi:基于jcl的Bugsplat Crash收集单元
  18. Linux基础命令---swapon
  19. 第n+1次考试
  20. New Game! (最短路+建图)

热门文章

  1. AI - 参考消息(References)
  2. 引入CSS的三种方式
  3. 通过session的id号获取对应的session
  4. Word文档使用密码加密
  5. java.util.regex包下的Pattern类和Matcher类的使用总结
  6. sql server 索引阐述系列四 表的B-Tree组织
  7. 编写高质量代码改善java程序的151个建议——[1-3]基础?亦是基础
  8. Dockerfile 时区设置
  9. TensorflowSharp安装和使用入门
  10. arcgis 加载png图片实现图片跟随地图缩放 和图片的动态播放