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