zoukankan      html  css  js  c++  java
  • 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、

  • 相关阅读:
    服务命令Linux安装配置apache
    枚举参考hdu2062Subset sequence
    异常选择struts2文件上传产生Source 'xxxx.tmp' does not exist
    序列插入常用排序算法 总结
    代码nullMerge two sorted linked lists
    下载文件win8mp3下载
    希望判断创造、改变世界的基因
    qemulauncher:图形化的QEMU启动器
    Virtual Memory I: the problem
    HIGHMEM
  • 原文地址:https://www.cnblogs.com/zhouhaibing/p/7750921.html
Copyright © 2011-2022 走看看