![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
RabbitMQ
文章平均质量分 83
fmi110
这个作者很懒,什么都没留下…
展开
-
RabbitMQ (五)实现类似Dubbo的RPC调用
springboot对rabbitMQ的接口做了封装,要实现 request/reponse 模式的调用,只需要调用 rabbitTemplate.convertSendAndReceive 方法即可,队列和交换器的设置使用topic模式即可。 Object res = rabbitTemplate.convertSendAndReceive(exchangeName, routingKey, reqJson,message -> { MessageProperties...原创 2021-07-04 11:06:17 · 465 阅读 · 0 评论 -
RabbitMQ (四)实现延迟消息
1 概述常用的延迟消息实现方式有: 利用 队列TTL + 死信队列 方式实现 利用消息延迟插件实现 消息变成死信的原因有: 消息过期。消息TTL或队列TTL 消息被拒绝。消费者调用了 channel.basicNack 或 channel.basicReject ,并且设置 requeue=false 队列满。 当设置了最大队列长度或大小并达到最大值时,RabbitMQ 的默认行为是从队列前面丢弃或 dead-letter 消息(即队列中最早的消原创 2021-07-03 11:54:01 · 4232 阅读 · 5 评论 -
RabbitMQ (三)消息重试
1 RabbitMQ自带的重试机制1 示例代码rabbitMQ为自带了消息重试机制:当消费者消费消息失败时,可以选择将消息重新“推送”给消费者,直至消息消费成功为止。开启自带的重试机制,需要如下几个配置:1 开启消费者手动应答机制,对应的springboot配置项:spring.rabbitmq.listener.simple.acknowledge-mode=manual2 消费异常时,设置消息重新入列 boolean multiple = false; // 单条确认原创 2021-07-02 15:03:02 · 6555 阅读 · 5 评论 -
RabbitMQ (一)基础概念
1 使用场景 系统解耦 异步 削峰 2 核心概念 vhost:虚拟主机 broker::消息服务进程,包含 exchange 和 queue exchange: 交换器。负责根据路由规则转发消息 queue:消息队列。存储消息的地方,请求“缓冲区”,实现削峰 producer:消息生产者,发送消息到 交换器 consumer:消息消费者,从消息队列获取消息并消费 routingKey:路由标识,producer发原创 2021-07-01 11:42:23 · 213 阅读 · 1 评论 -
RabbitMQ (二)docker安装rabbitMQ
1 安装 rabbitMQ 文件目录如下图:插件官网下载地址 docker-compose.yml 内容:version: '3.3'services: rabbitmq: image: 'daocloud.io/library/rabbitmq:3.8-management' # hostname: my_rabbitmq # container_name: nacos-server-2.0.2 ...原创 2021-07-01 14:36:18 · 371 阅读 · 0 评论