既然是简介,那就简单介绍几句。
一、RabbitMQ是一个开源的消息中间件,也可以称之为消息队列。其支持集群、事物、高并发、RPC(远程过程调用)、队列持久化、消息持久化、消息循环调度、消息均衡调度、消息回发确认机制、消息过期删除等等功能。算是比较常用的消息队列工具!
二、按照角色来说,可大致分为:消息生产者、交换机(Exchange)、队列(Queue)、消息接收者(Consumer)。生产者将消息发送给交换机,交换机通过路由去匹配对应的队列并将信息存到该队列中。消息接收者可以到队列中获取消息并进行相应的处理;
三、交换机(Exchange)有四种类型:
1.fanout:广播型。将生产者的消息发送到与此交换机绑定的所有队列中;
2.direct:定向型。将生产者的消息发送到与此交换机绑定的指定队列中,通过具体的路由(RoutingKey)去指定;
3.topic:分类型。这种就是人们通常所说的物以类聚、人以群分的类型。将生产者的消息发送到与此交换机绑定的指定相关字符串匹配的队列中,通过指定的路由(RoutingKey)去指定。
4.headers:不做介绍。
四、相关名词解释:
Exchange:交换机,用来将生产者发送的消息匹配到相关的队列中。
ExchangeType:交换机类型。共有四种:fanout、direct、topic和headers。每种类型对应的交换机的作用各不相同。有定向、群发和按类分发。
RoutingKey:路由键,交换机用之来匹配具体的队列(以便将消息放到该队列中)。该值可以为队列名称,也可以在交换机和队列绑定的时候自定义设置。
Queue:队列,用来存放消息的载体。
Consumer:消费者,即接收消息的对象。
VirtualHost:虚拟主机,一台真实主机中可存在多个虚拟主机,每个虚拟主机中的Exchange、Queue和消息不能互通。VirtualHost可以通过控制台命令来创建,可以通过web管理插件来创建。
控制台命令:rabbitmqctl add_vhost [vhostname]。
web管理插件方式: