RabbitMQ
文章平均质量分 90
一锤入魂
这个作者很懒,什么都没留下…
展开
-
【RabbitMQ】TTL、死信队列、延迟队列
1、TTL(Time to Live)TTL:队列里的消息过期时间。当消息到了设置的过期时间还没被消费,就会被清除。设置TTL的参数是 x-message-ttl,它是以Map的形式存储的。(1)Spring设置TTL在spring配置里,声明队列的时候同时声明此队列中消息的过期时间。<rabbit:queue id="spring_direct_queue_ttl" name="spring_direct_queue_ttl" auto-declare="true"> <ra原创 2021-07-03 22:57:59 · 591 阅读 · 1 评论 -
【RabbitMQ】消费端限流(Prefetch)
消息中间件有一个重要的功能是削峰填谷,在访问量高的时候,可以限制消费端消费消息的数量,当访问高峰期过去以后,消费端再慢慢消费队列中的消息。在RabbitMQ中,要实现削峰填谷的功能,是通过消费端限流实现的。在消费端中设置 prefetch=n ,表示一次从队列中获取 n 条消息。其余消息存放在队列中。做个小实验:当不设置 prefetch 时,生产者一次性向交换机中投递10条消息,消费者确认消息的方式设置为手动确认,在确认消息之前线程休眠5秒(因为管控台数据更新是5秒更新一次,这里设置为5秒比较方便原创 2021-07-03 16:07:50 · 4887 阅读 · 1 评论 -
【RabbitMQ】消息可靠性
Producer发送消息以后,在消息传递的过程中可能会出现各种意外,导致Consumer无法正确接收消息,为了应对这种情况,RabbitMQ也推出了一些解决方案。1、消息可靠性投递Producer发送消息以后,会通过如下链路传递:生产者(Producer) ——> 交换机(Exchange) ——> 队列(Queue) ——> 消费者(Consumer)在这个过程中,消息发送失败的情况可能会出现在生产者发送消息到交换机的过程中,交换机发送消息到队列的过程中,队列发送消息给消费者的过原创 2021-07-03 11:35:10 · 130 阅读 · 0 评论 -
【RabbitMQ】RabbitMQ整合Spring和SpringBoot
在已经大致了解了RabbitMQ的消息模式的基础上,可以研究RabbitMQ如何整合Spring和SpringBoot1、RabbitMQ整合Spring1.1、依赖Spring整合RabbitMQ的依赖有两个,一个是spring-context,一个是spring-rabbit<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId&g原创 2021-07-03 09:23:21 · 628 阅读 · 0 评论 -
【RabbitMQ】消息模式
1、总览在上一篇文章,已经讲述了RabbitMQ的核心组成部分。这里贴一张图:Producer通过Connection里的Channel发送信息到Exchange,Exchange把信息发送给它通过一定规则绑定的Queue,Consumer从Queue里获取信息。其中Producer发送信息必须通过交换机发送,所以这里说一下Exchange的类型,和接下来要写的消息模式有关系。交换机主要分为 fanout、direct、topic、header四种类型。接下来要讲的消息模式中,Simple和Wor原创 2021-06-28 11:27:54 · 158 阅读 · 0 评论 -
【RabbitMQ】简介及安装
1、中间件中间件(Middleware),又译中间件、中介层,是一类提供系统软件和应用软件之间连接、便于软件各部件之间的沟通的软件,应用软件可以借助中间件在不同的技术架构之间共享信息与资源。中间件位于客户机服务器的操作系统之上,管理着计算资源和网络通信。中间件大致分为如下几类:分布式消息中间件:ActiveMQ、RabbitMQ、Kafka、RocketMQ负载均衡中间件:Nginx、LVS负载均衡软件、KeepAlive、CDN缓存中间件:Memcache、Redis数据库中间件:mycat原创 2021-06-27 17:10:56 · 192 阅读 · 0 评论