![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
rabbitmq
文章平均质量分 94
喵先森爱吃鱼
这个作者很懒,什么都没留下…
展开
-
SpringCloud Bus 消息总线
SpringCloudBus配合SpringCloudConfig使用,可以实现配置的动态刷新。SpringCloudBus是用来将分布式系统的节点与轻量级消息系统链接起来的框架,它整合了Java的事件处理机制和消息中间件的功能。SpringCloudBus目前支持RabbitMQ和Kafka。......原创 2022-07-24 19:04:59 · 133 阅读 · 0 评论 -
RabbitMQ 集群
1.2 集群搭建使容器 mq02 称为从节点,容器 mq01 为主节点使容器 mq03 称为从节点,容器 mq01 为主节点1.3 查看集群状态进入任意一个容器内,输入以下命令查看集群状态:原创 2022-06-12 17:38:39 · 10005 阅读 · 0 评论 -
RabbitMQ 其他知识点
用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。举个最简单的例子,那就是支付,用户购买商品后支付,支付扣款成功,但是返回结果的时候网络异常,此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额发现多扣钱了,流水记录也变成了两条。在以前的单应用系统中,我们只需要把数据操作放入到事务中即可,发生错误立即回滚,但是再响应客户端的时候也有可能出现网络中断或者异常等等。在 MQ 中指,消费多条相同的消息,得到与消费该消息一次相同的结果。消费者在消原创 2022-06-11 22:00:56 · 291 阅读 · 0 评论 -
RabbitMQ 发布确认高级
发布确认高级原创 2022-06-05 23:07:03 · 283 阅读 · 0 评论 -
RabbitMQ 延迟队列详解
一、延迟队列概念延迟队列存储的对象时对应的延迟消息,所谓“延迟消息”是指当消息呗发送以后,并不想让消费者立刻拿到消息,而是等待特定时间后,消费者才能拿到这个消息进行消费。二、延迟队列使用场景1、订单在十分钟之内未支付则自动取消2、新创建的店铺,如果在十天内都没有上传过商品,则自动发送消息提醒。3、用户注册成功后,如果三天内没有登录则进行短信提醒。4、用户发起退款后,如果三天内没有得到处理则通知相关运营人员。5、预定会议后,需要在预定时间点前十分钟通知各个与会人员参加会议。这些场景都有一个特点原创 2022-05-29 16:34:29 · 19689 阅读 · 7 评论 -
RabbitMQ 死信队列详解
一、死信的概念死信,顾名思义就是无法被消费的消息。一般来说,Producer 将消息投递到 Broker 或者直接到 Queue 里了,Consumer 从 Queue 取出消息进行消费,但某些时候由于特定的原因导致 Queue 中的某些消息无法被消费,这样的消息如果没有后续的处理,就变成了死信,有死信自然就有了死信队列。应用场景:为了保证订单业务的消息数据不丢失,需要使用到 RabbitMQ 的死信队列机制,档消息消费发生异常时,将消息投入到死信队列中。还有比如说:用户在商城下单成功并点击支付后再指定原创 2022-05-28 23:12:31 · 14145 阅读 · 2 评论 -
RabbitMQ 中交换机类型
在工作队列模式中,每个任务都恰好交付给一个消费者(工作进程)。如果需要将消息传达给多个消费者,则需要使用“发布/订阅”模式。为了说明这种模式,我们将构建一个简单的日志系统。它将由两个程序组成:第一个程序将发出日志消息,第二个程序是消费者。我们会启动两个消费者,其中一个消费者接收到消息后把日志存储在磁盘中,另一个消费者在接收到消息后,会将消息打印到屏幕上。事实上,第一个程序发出的日志消息将会广播给所有的消费者。一、Exchanges1.1 Exchanges 概念RabbitMQ 消息传递模型的核心思原创 2022-05-28 18:03:14 · 272 阅读 · 0 评论 -
RabbitMQ 的发布确认
一、模式说明在订阅模型中,多了一个 Exchange 角色,而且过程略有变化:P:生产者,也就是要发送消息的程序,但是不再发送到队列中,而是发给 X(交换机)C:消费者,消息的接收者,会一直等待消息到来Queue:消息队列,接收消息,缓存消息Exchange:交换机(X)。一方面,接收生产者发送的消息,另一方面,知道如何处理消息,例如递交给某个特别队列、递交给所有队列、或是将消息丢弃。到底如何操作,取决于 Exchange 的类型。Exchange 有常见一下 3 种类型:Fanout:广播原创 2022-05-23 23:21:11 · 896 阅读 · 0 评论 -
RabbitMQ 的工作模式——Work Queues 工作队列模式
一、模式说明Work Queues:与入门程序的简单模式相比,多了一个或一些消费端,多个消费端共同消费同一个队列中的消息。应用场景:对于任务过重或任务较多情况,使用工作队列可以提高任务处理的速度。二、代码Producer_WorkQueuespackage com.itheima.producer;import com.rabbitmq.client.Channel;import com.rabbitmq.client.Connection;import com.rabbitmq.cli原创 2022-05-23 21:18:11 · 806 阅读 · 5 评论 -
RabbitMQ 快速入门——简单队列模式
一、入门程序需求:使用简单模式完成消息传递步骤:创建工程(生产者、消费者)分别添加依赖编写生产者发送消息编写消费者接收消息1.1 添加依赖分别在生产者和消费者的 pom.xml 文件中添加如下依赖:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLS原创 2022-05-23 09:05:19 · 374 阅读 · 0 评论 -
RabbitMQ 简介
一、MQ 的基本概念1.1 MQ 概述消息(Message)是指在应用间传递的数据。消息可以非常简单,比如质保函文本字符串、JSON 等,也可以很复杂,比如内嵌对象。MQ 全称为 Message Queue(消息队列),是在消息的传输过程中保存消息的容器。多用于分布式系统之间进行通信。目前,分布式系统之间的数据通信一般有两种方式:第一种方式,A 系统直接通过远程调用的方式来访问 B 系统第二种方式,则是通过消息中间件的方式,由 A 系统将数据发送到消息中间件,再由消息中间件发送给 B 系统。原创 2022-05-21 18:54:38 · 562 阅读 · 0 评论