RabbitMQ---初识
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---初识的更多相关文章
- rabbitmq技术
Rabbitmq 初识rabbitmq RabbitMQ是流行的开源消息队列系统,用erlang语言开发.RabbitMQ是AMQP(高级消息队列协议)的标准实现.如果不熟悉AMQP,直接看Rabbi ...
- rabbitmq技术的一些感悟(一)
Rabbitmq 初识rabbitmq RabbitMQ是流行的开源消息队列系统,用erlang语言开发.RabbitMQ是AMQP(高级消息队列协议)的标准实现.假设不熟悉AMQP,直接看Rabbi ...
- RabbitMQ入门-初识RabbitMQ
初识RabbitMQ 要说RabbitMQ,我们不得不先说下AMQP.AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面 ...
- 第一节 初识RabbitMQ
原文:第一节 初识RabbitMQ 版权声明:未经本人同意,不得转载该文章,谢谢 https://blog.csdn.net/phocus1/article/details/87280120 1.什么 ...
- 初识RabbitMQ系列之一:简单介绍
一:RabbitMQ是什么? 众所周知,MQ是Message Queue(消息队列)的意思,RabbitMQ就是众多MQ框架其中的一款,开源实现了AMQP协议(官网:http://www.amqp. ...
- 初识RabbitMQ,附RabbitMQ+PHP演示实例
RabbitMQ是一个在AMQP基础上实现的企业级消息系统.何谓消息系统,就是消息队列系统,消息队列是""消费-生产者模型""的一个典型的代表,一端往消息队列中 ...
- 初识RabbitMQ系列之三:.net 如何使用RabbitMQ
话不多说,直接上代码! 一:搭建一个解决方案框架:RabbitMQ_Demo 其中包含4个部分: 1:RabbitMQ 公用类库项目 2:一个生产者控制台项目 3:两个消费者控制台项目 项目结构如图: ...
- 初识RabbitMQ系列之二:下载安装
一:Erlang安装 因为RabbitMQ 是Erlang语言开发的,所以首先要装上Erlang的环境 1)下载Erlang 下载官网:http://www.erlang.org/downloa ...
- 初识RabbitMQ
1.安装 rabbitmq官网:http://www.rabbitmq.com/ 下载地址:https://packagecloud.io/rabbitmq 下载rabbitmq-server 安装脚 ...
- [RabbitMQ学习笔记] - 初识RabbitMQ
RabbitMQ是一个由erlang开发的AMQP的开源实现. 核心概念 Message 消息,消息是不具名的,它由消息头和消息体组成,消息体是不透明的,而消息头则由 一系列的可选属性组成,这些属性包 ...
随机推荐
- 37 有n个人围成一圈,顺序排号,从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号那位.
题目:有n个人围成一圈,顺序排号,从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号那位. public class _037NumberOff { public st ...
- element onclick 动态创建元素并绑定onclick事件
<html> <head> <meta charset="UTF-8"> <title>b</title> <sc ...
- Android 内存优化[转]
一. Android的内存机制 Android的程序由Java语言编写,所以Android的内存管理与Java的内存管理相似.程序员通过new为对象分配内存,所有对象在java堆内分配空间:然而对象的 ...
- Android学习笔记——文件路径、内容Uri学习笔记[转]
一.URI 通用资源标志符(Universal Resource Identifier, 简称"URI"). Uri代表要操作的数据,Android上可用的每种资源 - 图像.视频 ...
- linux 系统启动
系统启动流程 BIOS 我们称之为基本输入输出系统,一般保存在主板上的BIOS芯片中,负责检查硬件并且查找可启动设备:可设置启动顺序: 如果一个设备是可启动,那么第一个扇区512字节的最后两字节是55 ...
- java学习(七)java中抽象类及 接口
抽象类的特点: A:抽象类和抽象方法必须用abstract关键字修饰. B:抽象类中不一定有抽象方法,但是抽象方法的类必须定义为抽象类 c: 抽象类不能被实例化,因为它不是具体的. 抽象类有构造方法, ...
- JAVA IO总结及socket简单实现
为了方便理解与阐述,先引入两张图: a.Java IO中常用的类 在整个Java.io包中最重要的就是5个类和一个接口.5个类指的是File.OutputStream.InputStream.Writ ...
- New Year, New Devs: Sharpen your C# Skills
At the beginning of each new year, many people take on a challenge to learn something new or commit ...
- Ubuntu 安装 Memcached
直接使用命令 sudo apt-get install Memcached 进行安装 安装完, 默认只能本地连接,需要修改一下配制文件,打开 /etc/Memcached.conf 文件, 找到一个 ...
- leetcode 有效的数独
判断一个 9x9 的数独是否有效.只需要根据以下规则,验证已经填入的数字是否有效即可. 数字 1-9 在每一行只能出现一次. 数字 1-9 在每一列只能出现一次. 数字 1-9 在每一个以粗实线分隔的 ...