Rabbit Mq
标签:RabbitMQ、基础、RabbitMQ、源码解读、进阶、Java开源框架
时间:2018年11月12日18:43:58
以下这些教程介绍了使用 RabbitMQ 创建消息传递应用程序的基础知识。您需要安装RabbitMQ服务器才能完成教程,请参阅安装指南部分。
MQ概述
MQ的使用场景大概包括解耦,异步消息,提高峰值处理能力,送达和排序保证,缓冲等。
RabbitMQ是一个消息代理:它接受和转发消息。消息队列技术是分布式应用间交换信息的一种技术。消息队列可驻留在内存或磁盘上,队列存储消息直到它们被应用程序读走。
涉及名称、
竞争消费者:
在单个渠道上创建多个竞争消费者,以便消费者可以同时处理多个消息。竞争消费者是多个消费者,他们都是为了从单个点对点频道接收消息而创建的。当频道传递消息时,任何消费者都可能接收消息。消息传递系统的实现确定哪个消费者实际接收消息,但实际上消费者彼此竞争成为接收者。消费者收到消息后,可以委托其应用程序的其余部分来帮助处理消息。(此解决方案仅适用于点对点通道 ; 发布 - 订阅通道上的多个使用者只需为每条消息创建更多副本。)
工作队列:(又称:任务队列)背后的主要思想是避免立即执行资源密集型任务,并且必须等待它完成。相反,我们安排任务稍后完成。我们将任务封装 为消息并将其发送到队列。在后台运行的工作进程将弹出任务并最终执行作业。当您运行许多工作程序时,它们之间将共享任务。
生产者:消息发送者,在MQ中被称为生产者(producer),一个发送消息的应用也被叫做生产者,用P表示。
消费者:生产者“生产”出消息后,最终由谁消费呢?等待接受消息的应用程序,我们称之为消费者(Consuming ),用C表示。
算了! 算了!直接再读开发文档吧,也花不了多少时间。
http://www.rabbitmq.com/getstarted.html
https://www.cnblogs.com/dwlsxj/p/RabbitMQ.html
一个 非常重要!!! 的经验总结:
生产者:在 信道 basicPublish 中 需指定 交换器(exchange)和 路由键(routingKey);
消费者:在 信道 basicConsume 中 需指定 队列(queue),所以 消费者 在 basicConsume 之前 要通过 queueBind 绑定: 队列(queue)、交换器(exchange)和 路由键(routingKey)。