
RabbitMQ
文章平均质量分 80
俺是农村的
致力于在IT界做最好厨子的胖子
展开
-
RabbitMQ问题
RabbitMQ问题原创 2024-03-19 16:19:44 · 671 阅读 · 2 评论 -
RabbitMQ的消息延迟两种实现--死信和插件
在实际场景中,我们经常会有这种情况,当用户进入支付页面,但是不支付退出,通常会出现30min支付时间,否则订单取消的场景,那么这种就可以用到消息延迟RabbitMQ的消息延迟有两种实现方案:死信和RabbitMQ插件死信队列,在队列中并没有明确的指定哪种是死信队列,所以需要我们自己通过配置去实现RabbitMQ插件rabbitmq_delayed_message_exchange:RabbitMQ的版本必须是3.5.8以上死信:原理:当提交订单后,未支付,设置订单30分钟超时。当原创 2021-04-13 17:07:55 · 550 阅读 · 0 评论 -
RabbitMQ的持久化和信息确认
以spring boot为基础。RabbitMQ持久化首先想一下为什么要持久化?简单说,其实就是怕丢数据嘛。如果生产者有一条消息给了MQ,但是又没有被消费者消费,恰好这时候MQ服务又宕机了,那么重启MQ服务后会发现,刚才那条消息不在了,那么消费者就没有接受到这条消息,不友好。如果做了持久化,就可以解决因为网络或者服务宕机而丢数据的情况。RabbitMQ持久化分下面几种:1.队列持久化:队列可以被持久化,但是否为持久化,要看持久化设置如何持久化呢?我们在创建队列的时候回发现,4原创 2021-04-13 14:21:22 · 608 阅读 · 0 评论 -
RabbitMQ工作模式、应用场景、交换机模式小结
1.简单模式:只有一个生产者,一个消费者2.工作队列模式:一个生产者,多个消费者,,饿哦个消费者获取到的信息唯一3.订阅模式:一个生产者发送的消息会被多个消费者获取4.路由模式:发送消息到交换机,并且要指定的routing key,消费者在将队列绑定到交换机时需要指定rounting key...原创 2021-04-07 21:51:11 · 481 阅读 · 0 评论 -
RabbitMQ的6种工作模式---主题转发模式和RPC模式
上一篇说了Rounting转发模式,这篇说一下主题转发模式主题转发模式概念:这种模式下的交换机是topic交换机,routing key配置失效,发送到主题交换机的信息不能是任意routing key,它必须是一个单词的列表,用逗号分隔。特点:可以模糊匹配,匹配规则:*(星号)可以代替一个词;#(#号)可以代替0个或者更多的单词流程图:代码:在生产者项目中创建,交换机配置、队列、路由键package com.lyc.springbootmqproducers原创 2021-04-06 22:51:02 · 204 阅读 · 0 评论 -
RabbitMQ的6种工作模式---Routing转发模式
上一篇说了两种RabbitMQ的两种模式,这篇说一下,routing转发模式routing转发模式这种模式交换机配置为direct(直连)类型交换机,转发的规则变为检查队列routing key值。如果生产者和消费者routing ley值相同,则转发。否则丢弃。流程图看见routing key 是不是很眼熟,好像在哪里见过,对,在简单模式的代码里面其实是有做路由键的配置的。//Direct交换机 起名:LycDirectExchange @Bean DirectE原创 2021-04-06 21:37:17 · 270 阅读 · 0 评论 -
RabbitMQ的6种工作模式---工作队列模式and交换机模式(订阅模式)
上一篇说的RabbitMQ的6种工作模式---简单模式,这篇说一下工作队列模式和交换机模式代码基于spring boot + JDK1.8,需要两个两个项目,springbootmqproducers(生产者)、springbootmq(两个消费者)工作队列模式:这种模式出现了多个消费者,为了保证消费者之间的负载均衡和同步,需要再消息队列之间加上同步功能。主要思想:避免立即执行资源密集型任务(耗时),以便下一个任务执行时不用等待它完成。工作队列将任务封装为消息并将其发送到队列中。流程原创 2021-04-06 14:43:29 · 332 阅读 · 0 评论 -
RabbitMQ的6种工作模式---简单模式
上次说了交换机的四种绑定模式,这篇说一下RabbitMQ的6种工作模式,代码基于spring boot + JDK1.81.简单模式望文生义,也就是RabbitMQ中最简单的一种,只适合demo级别的。生产者把消息放入队列,消费者获取消息。这个模式只有一个消费者,一个生产者,一个队列,只需要配置主机参数,其他参数使用默认即可通信代码:pom文件:(注意:如果引入jar包,但是在代码里面不能引入的,1重启IDEA,2更换springboot版本,我用的是2.1.4.RELEASE)原创 2021-04-06 10:00:03 · 756 阅读 · 4 评论 -
RabbitMQ之交换机(Exchange)
上一篇文章说了RabbitMQ的基本概念以及应用场景RabbitMQ核心概念以及工作原理理解,那么这篇说一下RabbitMQ的核心Exchange(交换机)Exchange(交换机)作用: Exchange是用于接口、分配消息的。过程: 生产者先要指定一个“routing key”(路由键),然后将消息发送到交换机。这个“routing key”需要与"Exchange type"及“binging key”联合使用才能生效,然后,交换机将消息路由到一个或者多个Qu...原创 2021-04-01 22:38:45 · 769 阅读 · 0 评论 -
RabbitMQ核心概念以及工作原理理解
RabbitMQ简介在介绍RabbitMQ之前实现要介绍一下MQ,MQ是什么?MQ全称是Message Queue,可以理解为消息队列的意思,简单来说就是消息以管道的方式进行传递。RabbitMQ是一个实现了AMQP(Advanced Message Queuing Protocol)高级消息队列协议的消息队列服务,用Erlang语言的。所以如要使用RabbitMQ则需要Erlang环境和RabbitMQ,官网下载太慢了,这有下载链接ribbitMQ+Erlang下载作用好处:1.提原创 2021-04-01 18:21:32 · 431 阅读 · 0 评论