1、概述

    1.1  RabbitMQ   是  实现了   高级消息队列协议(AMQP) 的开源   消息代理软件,也称为  面向消息的中间件;

         AMQP:Advanced Message Queuing Protocol,一个面向消息中间件的开放式标准应用层协议;

            1.1  AMQP要求   消息的提供者  和  客户端接受者   的行为   要实现   对不同供应商   可以用相同的方式(SMTP、HTTP、FTP等)进行互相操作;

            1.2  基本概念:

                  Broker:消息队列服务器的实体,负责接收   消息生产者的消息,然后   将消息发送至消息接受者或者其他的Broker;

                  Exchange:消息交换机,消息第一个到达的地方,消息通过它指定的路由规则,分发到不同的消息队列中;

                      Exchange的类型

                        Direct交换机Topic交换机Fanout交换机

                  Queue:消息队列,消息通过发送和路由之后最终到达的地方,到达Queue的消息即进入逻辑上等待消费的状态

                    Binding:绑定,把Exchange和Queue按照路由规则绑定起来,就是Exchange和Queue之间的虚拟连接;

                  Routing Key:路由关键字,Exchange根据这个关键字进行消息投递;

                  Virtual host:虚拟主机,对Broker的虚拟划分,将消费者、生产者、二者依赖的AMQP相关结构  进行隔离,一般都是为了安全考虑,比如:在一个Broker中设置多个虚拟主机,对不同用户进行权限的分离;

                  Connection:连接,代表生产者、消费者、Broker之间进行通信的物理网络;

                  Channel:消息通道,用于连接生产者、消费者的逻辑结构,在一个客户端的每个连接中,可建立多个Channel,每个Channel代表一个会话任务,通过Channel可以隔离同一个连接中不同交互内容;

                  Producer:消息生产者,制造消息并发送消息的程序;

                  Consumer:消息消费者,接收消息并处理消息的程序;

    1.2  RabbitMQ用Erlang语言编写,其集群和故障转移是构建在开放电信平台框架上的;

    1.3  RabbitMQ支持   消息的持久化(将数据写在磁盘上),消息队列持久化包括3个部分:

            Exchange持久化Queue持久化消息持久化

RabbitMQ---初识的更多相关文章

  1. rabbitmq技术

    Rabbitmq 初识rabbitmq RabbitMQ是流行的开源消息队列系统,用erlang语言开发.RabbitMQ是AMQP(高级消息队列协议)的标准实现.如果不熟悉AMQP,直接看Rabbi ...

  2. rabbitmq技术的一些感悟(一)

    Rabbitmq 初识rabbitmq RabbitMQ是流行的开源消息队列系统,用erlang语言开发.RabbitMQ是AMQP(高级消息队列协议)的标准实现.假设不熟悉AMQP,直接看Rabbi ...

  3. RabbitMQ入门-初识RabbitMQ

    初识RabbitMQ 要说RabbitMQ,我们不得不先说下AMQP.AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面 ...

  4. 第一节 初识RabbitMQ

    原文:第一节 初识RabbitMQ 版权声明:未经本人同意,不得转载该文章,谢谢 https://blog.csdn.net/phocus1/article/details/87280120 1.什么 ...

  5. 初识RabbitMQ系列之一:简单介绍

    一:RabbitMQ是什么? 众所周知,MQ是Message  Queue(消息队列)的意思,RabbitMQ就是众多MQ框架其中的一款,开源实现了AMQP协议(官网:http://www.amqp. ...

  6. 初识RabbitMQ,附RabbitMQ+PHP演示实例

    RabbitMQ是一个在AMQP基础上实现的企业级消息系统.何谓消息系统,就是消息队列系统,消息队列是""消费-生产者模型""的一个典型的代表,一端往消息队列中 ...

  7. 初识RabbitMQ系列之三:.net 如何使用RabbitMQ

    话不多说,直接上代码! 一:搭建一个解决方案框架:RabbitMQ_Demo 其中包含4个部分: 1:RabbitMQ 公用类库项目 2:一个生产者控制台项目 3:两个消费者控制台项目 项目结构如图: ...

  8. 初识RabbitMQ系列之二:下载安装

    一:Erlang安装 因为RabbitMQ 是Erlang语言开发的,所以首先要装上Erlang的环境 1)下载Erlang    下载官网:http://www.erlang.org/downloa ...

  9. 初识RabbitMQ

    1.安装 rabbitmq官网:http://www.rabbitmq.com/ 下载地址:https://packagecloud.io/rabbitmq 下载rabbitmq-server 安装脚 ...

  10. [RabbitMQ学习笔记] - 初识RabbitMQ

    RabbitMQ是一个由erlang开发的AMQP的开源实现. 核心概念 Message 消息,消息是不具名的,它由消息头和消息体组成,消息体是不透明的,而消息头则由 一系列的可选属性组成,这些属性包 ...

随机推荐

  1. php 导出csv表格文件

    1.数据库取出数据,存放在二维数组中 $conn=new mysqli('localhost','root','root','myDBPDO'); $result=$conn->query('s ...

  2. app里面嵌套的H5页面上电话号码怎么才能点击拨号?

    代码: <p>联系我们:<a href="tel://66666666666">66666666666</a> </p>

  3. jQuary总结9:html()的常见用法

    1html() 不传参数 用于获取内容 //html <div> <p></p> <span></span> 文本 </div> ...

  4. iPhone Development – core data relationships tutorial part 1

    I’m going to start a short series on Core Data relationships and maybe throw in some general Core Da ...

  5. [LintCode笔记了解一下]80.Median

    Given a unsorted array with integers, find the median of it. A median is the middle number of the ar ...

  6. 基于行块分布函数的通用网页正文内容抽取(带HTML格式)

    算法思路: 假如网页正文(过滤html标签后的)有n行,以k行为一行块,总共可构成n-k+1行块: 以行号为索引号,以行块长度为索引值,形成行块稀疏矩阵: 以上面的稀疏矩阵为基础,找出其骤升骤降点,分 ...

  7. python文件操作os模块

    Python 统计某一文件夹下文件数量 使用python  pathlib模块 from pathlib import Path dir_path = ' ' print(len(list(Path( ...

  8. docker中安装Jenkins

    1.获取Jenkins镜像(不要直接docker pull jenkin,这样获取的不是最新的版本,后续安装部分插件会不成功) docker pull jenkins/jenkins 创建文件夹 su ...

  9. C#设计模式系列:代理模式(Proxy Pattren)

    一.引言 在软件开发过程中,有些对象有时候会由于网络或者其他的障碍,以至于不能够或者不能直接访问到这些对象,如果直接访问对象给系统带来不必要的复杂性,这时候可以在客户端和目标对象之间增加一层中间层,让 ...

  10. GRPC .netcore

    GRPC是Google发布的一个开源.高性能.通用RPC(Remote Procedure Call)框架.提供跨语言.跨平台支持.以下以一个.NET Core Console项目演示如何使用GRPC ...