RabbitMQ

支持多种语言

RM架构:

如何保证消息可靠性?

1.保证消息可以到达Exchange

异步回调(Confirums机制

步骤:开启confirms;设置confirms的异步回调(ACK/NCK)

2.保证消息可以路由到Queue

Return机制

3.保证Queue可以持久化消息

RM重启后队列中的消息依然存在

4.保证消费者可以正常消费信息

手动ACK

死信队列

死信:

1.消息被消费者拒绝,会重新放回到队列中供其他消费者消费,requeue设置为false

2.指定了队列中的消息生存时间/发送消息时设置了消息的生存时间,生存时间到了,消息没有被消费

3.队列已经到达消息的最大长度,之后路由过来的消息直接变为死信

消费者执行了ACK/reject机制,并设置requeue==false,那么消费者没有消费的信息会重新放回到队列中,并路由到死信交换机,进而放到死信队列中供消费者消费

应用:

1,基于死信队列,队列消息已经满的情况下,消息也不会丢失;

2.实现延迟消费的效果,如下订单在一定的时间内付款

延迟交换机

死信队列实现延迟消费时,如果延迟时间比较复杂,比较多,直接使用队列需要创建大量队列

RM集群

相关推荐
ZENERGY-众壹2 分钟前
跨品牌逆变器升级:华为锦浪德业 API 对接的 7 个坑
分布式·华为·数据归一化·光伏运维·逆变器api
薛定谔的猫19824 小时前
LLaMA-Factory +DeepSpeed 分布式多卡训练实战全解
分布式·deepspeed·zero·多卡训练·多卡分布式训练
稚南城才子,乌衣巷风流4 小时前
RabbitMQ 消息队列:从入门到实战
分布式·rabbitmq
Database_Cool_18 小时前
单机 MySQL 迁移到分布式数据库方便吗?阿里云 PolarDB-X 100% MySQL 协议兼容零改造平滑迁移
数据库·分布式·mysql
肥胖小羊1 天前
解决企业微信 AccessToken 刷新并发冲突的分布式锁机制实践
分布式·企业微信
过期动态1 天前
【LeetCode 热题 100】找到字符串中所有字母异位词
java·数据结构·算法·leetcode·职场和发展·rabbitmq
风中凌乱2 天前
kafka新版本集群的安装与部署
分布式·kafka
SLD_Allen2 天前
大规模分布式AI训练基础设施
人工智能·分布式·模型训练
富士康质检员张全蛋2 天前
Kafka的操作-消费的详情
分布式·kafka
昕光xg2 天前
Istio笔记04-基于Jaeger的分布式链路追踪
笔记·分布式·istio