RabbitMQ
文章平均质量分 59
RabbitMQ
明伟华
这个作者很懒,什么都没留下…
展开
-
1-8 (6). RabbitMQ高级特性-死信队列和延迟队列
1. 死信队列 在RabbitMQ应该称为死信交换机 DLX:Dead Letter Exchange(死信交换机),当消息称为Dead message后会重新发到死信交换机中。 成为死信的三种情况 (1) 队列长度达到限制 (2) 在消费者手动ack中,basicNack/basicReject,并且不把消息重新放入原队列中,即requeue=false (3) 原队列存在消息过期设置,消息超时后未被消费 实现方式不难,主要通过给队列设置相关参数即可:x-dead-letter-exchange和x-de原创 2022-04-28 17:01:52 · 1507 阅读 · 0 评论 -
1-8 (5). RabbitMQ高级特性-消费端限流和消息过期时间
1.消费端限流 具体流程如下: (1)设置手动确认机制; (2)设置prefetch=n,n即为消费端一次从队列拿取n条消息,直到n条消息消费成功,下次才再拿n条 # 配置RabbitMQ的基本信息 spring: rabbitmq: host: 127.0.0.1 port: 5672 username: guest password: guest virtual-host: / #设置手动确认机制 listener: simple:原创 2022-04-28 11:31:14 · 339 阅读 · 0 评论 -
1-8 (4). RabbitMQ高级特性-消费端ACK
Consumer ACK 指Acknowledge,确认 有三种方式: (1)自动确认:acknowledge=“none”(默认) (2)手动确认:acknowledge=“manual” (3)根据异常情况确认:acknowledge=“auto”,使用较为麻烦 自动确认一般是Consumer接收到后就会发送确认信息,并在队列中移除消息,然而在实际生产环境中,有可能出现业务异常,消息就会丢失,通过手动确认,可以确认业务完成后,调用channel.basicAck(),手动确认,出现异常则可以调用chan原创 2022-04-28 10:45:47 · 454 阅读 · 0 评论 -
1-8 (3). RabbitMQ高级特性-消息可靠性投递
RabbitMQ的消息投递路径为: producer–>rabbitmq broker–>exchange–>queue–>consumer RabbitMQ提供了两种方式用来控释消息投递的可靠性模型 (1)confirm 确认模式 (2)return 退回模式 分别为: (1)消息从producer到exchange,会返回一个confirmCallback (2)消息从exchange到queue投递失败则返回一个returnCallback 1.confirm 确认模式 测试:原创 2022-04-27 16:42:07 · 1307 阅读 · 0 评论 -
1-8 (2). SpringBoot整合RabbitMQ-消费者
SpringBoot整合RabbitMQ-消费者 主要流程是: 1.创建Springboot工程 2.依赖引入 3.编写yml配置 4.编写监听类,使用@RabbitListener完成队列监听 1.略 2.依赖引入 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-s原创 2022-04-27 09:30:45 · 2268 阅读 · 0 评论 -
1-8 (1). SpringBoot整合RabbitMQ-消息生产者
SpringBoot整合RabbitMQ-消息生产者 主要流程是: 1.创建Springboot工程 2.依赖引入 3.编写yml配置 4.编写配置类,并定义交换机,队列等信息 5.注入RabbitTemplate,完成消息的发送 1.略 2.依赖引入 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</a原创 2022-04-26 20:16:23 · 865 阅读 · 0 评论