消息中间件
文章平均质量分 61
青灬火
登高者必自卑,行远者必自迩。
展开
-
RabbitMq06——路由模式
在实际工作中有时候需要的是根据实际情况来分发消息,也就是路由模式。生产者在发送消息时为消息指定路由键,队列在与交换机绑定时也约定路由键,这样当消息发送到交换机的时候,交换机就会根据约定的路由键来向特定的队列发送消息。具体的我们来看示例代码,其中也有详细的注释。生产者package com.mmr.rabbitmq.direct;import java.io.IOExcepti...原创 2018-07-08 23:49:47 · 211 阅读 · 0 评论 -
RabbitMq05——订阅模式
有时候我们希望的是当生产者发送一条消息的时候,与它相关的消费者都能接收到该消息,而不是每一条消息只能一个消费者消费。即相当于我们关注的公众号,公众号发送一条消息,但是所有关注它的用户都可以收到该条消息。要实现这种模式,需要加入交换机来作为中间转换。即生产者发送消息不再直接发到队列,而是发送到交换机,再由交换机发送到对应的队列之中。但是每一个消费者都有一个自己的队列,并与之绑定,...原创 2018-07-08 13:29:53 · 253 阅读 · 0 评论 -
RabbitMq04——公平分发
公平分发也就是能者多劳模式,当有消费者处理完成后,MQ就会继续给它分发消息,直到MQ中所有消息都被消费。公平分发需要注意的是,关闭自动应答模式,将每次分发的消息数进行限定,同时在消息消费完成后手动向MQ发送确认,之后MQ将该条消息移除,继续分发新的消息。具体的介绍会在消费者1的代码中详细注释。定义生产者和简单队列一样,声明生产者(具体可查看之前的博客——简单队列)。本次循环发送50...原创 2018-07-05 00:09:06 · 797 阅读 · 2 评论 -
RabbitMq03——轮询分发
相对来说生产者生产消息是比较容易的,但是消费者在处理消息的时候则需要更多的时间,甚至若干倍于生产者,所以如果只是使用简单队列的话,生产者和消费者之间的关系是一一对应的,这样当消费者处理需要耗费较长时间的时候,就会造成消息大量的积压,不能得到及时的处理。因此,我们需要学习新的工作队列,即一个消息队列可以对应多个消费者,它们将共同消费队列的消息,这样就会成倍的提升处理的...原创 2018-07-01 01:16:00 · 923 阅读 · 0 评论 -
RabbitMq02——简单队列
2、简单队列即生产者将消息发送到消息队列,消费者从队列之中取得消息,为单对单的模式。2.1、获取MQ连接Mq也是在数据库中来存放消息,所以就如同连接数据库一样,我们首先需要获取到MQ的连接。在获取连接时一定要注意导入正确的包。package com.rabbitmq.util;import java.io.IOException;import java.util.concu...原创 2018-06-26 00:42:03 · 201 阅读 · 0 评论 -
RabbitMq01——安装指南
rabbitMq作为一种消息中间件,现在很多的公司都在使用,接下来我们就简单介绍一下rabbitMq的安装:1.我们可以从官网(http://www.rabbitmq.com/)下载mq,点击Docs,然后再点击下面标出的链接进入下载页面。2.根据自己的操作系统选择,如我的是Windows我选择的就是该选项。3.在安装rabbitMq之前,需要安装Erlang语言,这样rabb...原创 2018-06-24 15:06:07 · 301 阅读 · 0 评论 -
RabbitMq07——主题模式(通配符模式)
其实这个模式和上一篇路由模式极为相似,甚至可以说是大同小异,有兴趣的朋友可以先浏览上一篇以做了解https://mp.csdn.net/postedit/80964178。它只不过是它是以主题为路由的标志,然后使用通配符来进行匹配一个类型的消息。本文详细注释已在代码中注明。生产者package com.mmr.rabbitmq.topics;import java....原创 2018-07-08 23:59:01 · 592 阅读 · 0 评论 -
RabbitMq08——Transaction(事务)
之前我们确定一个消息是否发送成功是从消费者是否接收到来判断的,但是在实际应用中,消费者和生产者往往是分开部署的,我们也不可能每发送一条消息就去消费者那里确认一下,所有我们需要一个机制来确认消息发送后是否成功到达了消息队列,下面来介绍几种在生产者端来确认消息发送状态的方法。事务模式类似与数据库中所讲的事务。也是分为三个步骤:开启事务,提交事务,回滚事务。生产者package...原创 2018-07-12 23:49:18 · 1680 阅读 · 0 评论 -
RabbitMq09——confirm串行和并行模式
之前我们确定一个消息是否发送成功是从消费者是否接收到来判断的,但是在实际应用中,消费者和生产者往往是分开部署的,我们也不可能每发送一条消息就去消费者那里确认一下,所有我们需要一个机制来确认消息发送后是否成功到达了消息队列,下面来介绍几种在生产者端来确认消息发送状态的方法。(本篇及上一篇事务模式)confirm串行模式生产者package com.mmr.rabbitmq.confir...原创 2018-07-12 23:53:46 · 1942 阅读 · 0 评论