1、概述

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

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

         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持久化消息持久化

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄