openstack--rabbitmq

简介以及优势

IT体系架构发展过程
在这里插入图片描述
物理机架构:应用部署和运行在物理机上,一套应用一套服务器,使用率低下
虚拟化架构:将物理服务器虚拟成多个逻辑服务器,提高了物理服务器的资源使用率,节省成本,提高了虚拟化的功能
云计算架构:对虚拟化进行统一和高效管理,提供资源

什么是云计算

云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池
(资源包括网络、服务器、存储、应用软件、服务)

云计算所包容的几个层次服务
  • SaaS (Software as a Service):一种应用软件
  • PaaS (Platform as a Service):一个设备含有操作系统以及上面的应用
  • IaaS(Infrastructure as a Service):一个设备含有操作系统

OpenStack是一个开源的iaas云计算平台,用Python语言编写

社区与连接

官方文档:http://docs.openstack.org
社区:www.openstack.org
如何贡献源代码:http://wiki.openstack.org/HowToContribute
源代码管理:http://wiki.openstack.org/GerritWorkflow

什么是RabbitMQ?

MQ全称:message queue
是一种程序对应程序的通信方法
应用程序通过读写出入队列消息来通信

组件之间的通信一般有两种方式

1、组件之间直接通信
2、讲消息发送到一个中间件里
中间件——工作在两个或者多个软件之间
在这里插入图片描述

为什么要将消息放到中间件里?

因为松耦合的关系
耦合紧密度高,说明组件之间的依赖关系高,反之亦然
耦合度过高时,一个组件损坏停止工作,就会导致全盘崩溃
用中间件来降低耦合度,那么一个组件损坏时,只有它损坏,不影响其他组件工作
这就大大的提升了工作的效率

AMQP

高级消息队列协议
面向消息的中间件设计
消息的中间件主要用于组件之间的解耦合
消息的发送者无需知道消息的使用者存在,反之亦然

工作原理

在项目中,将一些无需及时返回且耗时的操作提取出来,进行异步处理。而这种方式大大的节省了服务器的请求响应时间,从而提高系统的吞吐量
1、客户端连接消息队列服务器,打开一个channel
2、客户端声明一个exchange并设置相关属性
3、客户端声明一个queue,并设置相关属性
4、客户端使用routing key在exchange和queue之间绑定关系
5、客户端投递消息到exchange
6、接收的消息后,根据消息在key和binding进行消息路由,讲消息投递到队列里

RabbiitMQ的metadata

RabbiitMQ的元数据可以持久化在RAM和disc
根据这个可以把节点分为RAM node和disc node
RAM node只会讲数据存储在RAM
RAM node会将数据持久化放在磁盘
但接待你只有disc node,集群可以有区分
增加或删除节点,RAM node启动时会从disc node下载最新数据,RAM 你的加入的时候要告诉全部disc node,
否则又是重启可能会失败,因为没有RAM node的数据加载

上述就是RabbiitMQ,如有什么错误,欢迎大家指正

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值