openstack优势

架构设计特点:

OpenStack架构设计优势:

优点:

(1)模块松耦合。与其他开源软件相比,OpenStack模块分明。添加独立功能的组件非常简单。有时候,不需要通读整个OpenStack的代码,只需要了解其接口规范及API使用,就可以轻松地添加一个新的模块。
(2)组件配置较为灵活。OpenStack也需要不同的组件。但是OpenStack的组件安装异常灵活。可以全部都装在一台物理机上,也可以分散至多个物理机中,甚至可以把所有的结点都装在虚拟机中。
(3)二次开发容易。OpenStack发布的OpenStack API是Rest-full API。其他所有组件也是采种这种统一的规范。因此,基于OpenStack做二次开发,较为简单。而其他3个开源软件则由于耦合性太强,导致添加功能较为困难。

openstack服务分析:

一、Openstack的核心服务组件-Restful

1、restful

  (1)组件之间通过restful协议通信

  (2)python中通过发布WSGI的方式提供restful接口

  (3)python的WSGI中提供了过滤器,拦截器等组件能力,帮助我们进行执行相关的动作。

2、Restful的不足

  (1)采用HTTP协议,传递的消息仅限于文本

  (2)同步调用,服务器不返回就一直等待

    (3)耦合度高,客户端必须知道服务器端地址

二、openstack的核心组件-AMAQ(RabbitMQ)

  1. RabbitMQ是AMAQ的一种实现
  2. AMAQ提供了消息队列能力,支持订阅模式topic和队列模式queue
  3. 他是一个异步的架构,消息的发送与接受是解耦的
  4. RabbitMQ服务中定义的主要消费者和生产者
  5. rpc.call方式远程调用的流程
    (1)客户端通过主题发布者向主体交换器发送RPC消息。主题交换器根据消息的主题将消息保存在相应的队列中。
    (2)服务器端的主题消费者从队列中接收并处理RPC消息
    (3)服务器端的主体消费者处理完消息后,通过直接发布者将消息发送给客户端
    (4)客户端通过直接消费者接受服务器返回的RPC结果
 
Restful和AMAQ是Openstack组件间调用与信息交换的核心方式
(1)一个是同步(Restful)调用
(2)一个是异步调用(AMAQ)
原文地址:https://www.cnblogs.com/girl1314/p/11219132.html