一、消息组件

如果从消息组件来讲主要划分位两类:

  1、JMS组件:ActiveMQ(慢);

  2、AMQP组件(协议):性能是最高的,

    而AMQP有两个主要的开源:

      1)RabbitMQ:使用最广泛,速度也很快。

      2)Kafka:是在大数据时代产生,明日之星

二、RabbitMQ

  1、RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue)的开源实现;

  2、RabbitMQ是由RabbitMQ Techenologies Ltd开发并且提供商业支持的。

   该公司在2010年4月被SpringSource(VMWare的一个部门)收购。在2013年5月被并入Pivotal。

  3、RabbitMQ的官网是:http://www.rabbitmq.com;

三、rabbitmq的系统架构

rabbitmq笔记(一)rabbitmq简介及基础-LMLPHP

在所有的消息系统之中,其基本组从一定就是生产者、消费者、消息组件,其中消息组件可以起到的左右:数据缓冲队列,但是在  RabbitMQ里面这个消息组件的组成:

  Exchange:交换空间,负责管理所有队列。

  Queue:数据队列

  RoutingKey:如果你现在所有队列的RoutingKey都一样,那么就属于广播消息,而如果不一样,则表示点对点消息。

四、RabbitMQ核心概念

  broker:消息队列服务主机

  Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列

  Queue:消息队列载体,每个消息都会被投入到一个或多个队列

  binding:绑定,把exchange和queue按照路由规则绑定起来

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

  vhost:虚拟主机,一个vroker里可以设多个vhost,实现用户的权限分离

    在rabbitmq里面提供有一个虚拟主机的概念,所谓的虚拟主机可以理解为不同的用户空间,也就是说各个空间可以有自己的队列信息,有自己的操作用户。

  producer:消息生产者

  consumer:消息消费者

  channel:消息通道,在客户端的每个连接里,可建立多个channel,每个channel代表一个会话任务

05-11 17:05