消息队列
文章平均质量分 83
zhangdy_plus
这个作者很懒,什么都没留下…
展开
-
消息队列 RabbitMQ[十] SpringBoot 死信队列与延迟队列实现思路
消息成为死信消息的三种情况队列消息长度达到限制,多余的消息将成为死信消息消费者拒绝接收消息,并不把该消息返回到队列中消息达到过期时间未被消费者消费消息成为死信消息之后会发送到另一个交换机,这个交换机称为死信交换机和死信交换机绑定的队列就是死信队列整体架构是这样的👇👇配置文件import org.springframework.amqp.core.*;import org.springframework.beans.factory.annotation.Qualifier;i原创 2022-05-06 19:34:20 · 1244 阅读 · 0 评论 -
消息队列 RabbitMQ[九] SpringBoot 设置消息过期时间TTL
一、指定队列的消息过期时间给队列设置过期时间,到达时间之后,队列中的所有消息都会被移除代码实现@Bean("topic_queue2") public Queue createQueue2(){ // .ttl()设置队列的过期时间为10秒 return QueueBuilder.durable(QUEUE2_NAME).ttl(10000).build(); }十秒前十秒后二、指定消息设置过期时间消息过期后只有在队列顶端才会被立即移除,不原创 2022-05-05 19:41:36 · 2002 阅读 · 0 评论 -
消息队列 RabbitMQ[八] SpringBoot Consumer 限流机制
RabbitMQ的实际应用场景中,有一个很重要的特性——流量销峰, 那这是什么意思呢?🤔比如在一个整点秒杀活动中,在某一时刻可能会产生大量的请求到服务器,这时服务器可能会因为到来的大量请求而崩溃,流量销峰就是将这些请求都放到rabbitmq中,然后服务器一次取承受范围之内个请求,这就会大大减少服务器的压力。但是我们在之前的练习中可以看到,每次消费者只要一运行就会取出所有消息,那怎么取出定量的消息呢?🤔rabbitmq提供了限流机制来控制每次消费者取多少消息一、前期准备先在topic_qu原创 2022-05-05 19:09:50 · 1533 阅读 · 2 评论 -
消息队列 RabbitMQ[七] RabbitMQ保证消息的可靠性传递(Confirm Return Ack)
消息流动图:如上图可知消息从生产者到消费者要经历三个阶段生产者(Producer)发送到交换机(Exchange)交换机发送到队列(Queue)消费者从队列中取得的数据那RabbitMQ要怎么保证每一阶段数据都是成功送到了呢??它提供了三种机制来保证消息的可靠性,三种机制分别对应三个阶段一、Confirm机制confirm机制能够用来保证消息从生产者到交换机的可靠性,它是一种确认模式,当你开启的时候,RabbitMQ会在生产者发送消息到交换机之后执行一个我们自定义的回调函数,不管生产者发原创 2022-04-24 22:05:41 · 1424 阅读 · 0 评论 -
消息队列 RabbitMQ[六] RabbitMQ的Topics工作模式(SpringBoot方式与amqp-client方式)
Topics工作模式架构图:如图所示我们需要一个类型为topic的交换机以及两个队列,生产者发布消息到交换机,交换机根据对应的routingkey发布到指定的与它绑定的队列,与Routing工作模式不同的是Topics模式的routingkey引入了通配符,使routingkey更加灵活,比如routingkey为abc.orange.bcd时,消息会被存储到Q1,routingkey为lazy.xxx.bbb时,会被存储到Q2。#:匹配一个或多个词 * :只能匹配一个单词一、amqp-c原创 2022-04-23 15:00:44 · 2224 阅读 · 0 评论 -
消息队列 RabbitMQ[五] RabbitMQ的Routing工作模式(SpringBoot方式与amqp-client方式)
Routing工作模式架构图:如图所示我们需要一个类型为DIRECT的交换机以及两个队列,生产者发布消息到交换机,交换机根据对应的routingkey发布到指定的与它绑定的交换机一、amqp-client操作RabbitMQ1. 引入依赖:<dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <原创 2022-04-23 14:28:23 · 2013 阅读 · 0 评论 -
消息队列 RabbitMQ[四] RabbitMQ的Publish/Subscribe(发布/订阅)工作模式(SpringBoot方式与amqp-client方式)
Publish/Subscribe工作模式架构图:如图所示我们需要一个交换机以及两个队列,生产者发布消息到交换机,交换机会将消息发送到这两个与它绑定的队列一、amqp-client操作RabbitMQ1. 引入依赖:<dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>4原创 2022-04-23 13:59:38 · 1817 阅读 · 0 评论 -
消息队列 RabbitMQ[三] RabbitMQ的HelloWorld工作模式(SpringBoot方式与amqp-client方式)
HelloWorld工作模式架构图:一、amqp-client操作RabbitMQ1. 引入依赖:<dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>4.8.0</version> </dependency>2. 通过可视化管理界面添加用户并原创 2022-04-21 22:37:40 · 773 阅读 · 0 评论 -
消息队列 RabbitMQ[二] RabbitMQ可视化管控台创建用户并为用户分配虚拟机
1. 通过可视化管理界面添加用户2. 创建虚拟机3. 为用户分配虚拟机原创 2022-04-21 18:43:57 · 809 阅读 · 0 评论 -
消息队列 RabbitMQ[一] RabbitMQ的下载与安装
下载地址RabbitMQ下载地址下载安装下载之后双击安装即可如果你的电脑没有Erlang的环境需要下载安装Erlang,点击是下载安装即可,安装之后再次安装RabbitMQ即可可视化管理页面进入RabbitMQ的如下路径cd D:\RabbitMQServer\rabbitmq_server-3.9.15\sbin运行命令rabbitmq-plugins enable rabbitmq_managementRabbitMQ配置文件rabbit.app中记录了Rabbi原创 2022-04-18 21:39:29 · 652 阅读 · 0 评论