Rabbit MQ
rabbit MQ 从入门到精通
wu≯忆
这个作者很懒,什么都没留下…
展开
-
十、spring集成RabbitMQ
1、 maven依赖org.springframework.amqpspring-rabbit1.7.5.RELEASE2、 设置maven-plugin版本org.apache.maven.pluginsmaven-compiler-plugin1.71.73、 rabbit-contex配置文件<?xml version="1.0" encodin...原创 2019-11-21 12:59:06 · 151 阅读 · 0 评论 -
九、RabbitMQ的消息确认机制(事务 + comfirm)
RabbitMQ中,可以通过数据持久化,解决服务器异常导致的数据丢失问题。问题:生产者将消息发送出去后,消息有没有到达RabbitMQ服务器,默认是不知道的。两种实现方式:1、AMQP方式实现了事务机制。2、confirm模式。9.1、事务机制 (transaction)txSelect、txCommit、txRollbacktxSelect:用户将当前channl设置为事务tx...原创 2019-11-21 12:58:43 · 212 阅读 · 0 评论 -
八、MQ容错处理方式(MQ消息持久化)
上面所说,消费者挂了,可以通过应答方式进行再次处理。如果是MQ挂了呢?那么全部消息就丢失了?下面是MQ挂了,保证消息不丢失处理。//声明队列代码中,设置消息持久化boolean durable = false;//持久化声明//声明队列channel.queueDeclare(QUEUE_NAME, durable, false, false, null);durable:声明好的队列,...原创 2019-11-21 12:57:35 · 374 阅读 · 0 评论 -
七、消息应答
注:消息应答默认打开,默认为false//消息应答设置boolean autoAck = false;channel.basicConsume(QUEUE_NAME, autoAck, consumer);2.1、消息应答为自动应答boolean autoAck = true;自动应答模式消费者接收到消息后,MQ就将消息从内存中删除。坏处:当消费者接收到消息后,消费者挂了,或者死...原创 2019-11-21 12:56:58 · 192 阅读 · 0 评论 -
六、交换机、转发器 Exchange
接收生产者的消息,发送到消费者。类型:1、匿名转发如下代码,普通的发布:channel.basicPublish("", QUEUE_NAME, null, msg.getBytes());QUEUE_NAME前面的参数为空,匿名转发。2、flanout (不处理路由键)将队列绑定到交换机,将消息发送到交换机channel.exchangeDeclare(EXCHANGE_NAME...原创 2019-11-21 12:56:26 · 158 阅读 · 0 评论 -
五、主题模式 (Topic)
模型:1、生产者package com.june.rabbitmq.topic;import com.june.rabbitmq.util.ConnectionUtil;import com.rabbitmq.client.Channel;import com.rabbitmq.client.Connection;import java.io.IOException;import j...原创 2019-11-21 12:55:29 · 269 阅读 · 0 评论 -
四、路由模式
模型:1、 生产者package com.june.rabbitmq.routing;import com.june.rabbitmq.util.ConnectionUtil;import com.rabbitmq.client.Channel;import com.rabbitmq.client.Connection;import java.io.IOException;impor...原创 2019-11-21 12:54:52 · 118 阅读 · 0 评论 -
三、订阅模式(public subscribe)模式
模型:P:生产者X:交换机C:消费者解读:一个生产者对应多个消费者,每个消费者都有自己的队列。生产者将消息发送到交换机里面,交换机再将消息推送到各个队列中。生产者 – 发布到交换机 – 推送到队列 – 发送给消费者注意:交换机没有存储能力,在MQ中只有队列才有存储能力。5.1、生产者package com.june.rabbitmq.worksubscribe;import c...原创 2019-11-21 12:54:23 · 419 阅读 · 0 评论 -
二、 工作队列 work queue模式
特点:一个生产者对应几个消费者。模型如图:1、 轮询分发 Round robin1.1、生产者package com.june.rabbitmq.workqueue;import com.june.rabbitmq.util.ConnectionUtil;import com.rabbitmq.client.Channel;import com.rabbitmq.client.Con...原创 2019-11-21 12:53:45 · 187 阅读 · 0 评论 -
一、 简单队列模式
特点:一个生产者对应一个消费者,模型如图:不足之处:耦合性高,一个生产者对应一个消费者,可用性差。1、获取connection工具类package com.june.rabbitmq.util;import com.rabbitmq.client.Connection;import com.rabbitmq.client.ConnectionFactory;import java....原创 2019-11-21 12:52:52 · 86 阅读 · 0 评论