RabbitMQ 消息模型
基本消息模型
1. 点对点模型(P2P)
- 一个生产者对应一个消费者
- 消息只会被消费一次
- 适用场景与示例
2. 发布订阅模型(Pub/Sub)
- 一个生产者对应多个消费者
- 消息会被多次消费
- 不同交换机类型的实现
- 应用场景分析
消息属性
1. 消息基本属性
- 消息ID
- 消息优先级
- 消息过期时间
- 消息持久化
- 消息类型
2. 消息头部
- 自定义属性
- 系统属性
- 属性使用场景
消息流转过程
1. 消息发布
- 生产者发布流程
- 发布确认机制
- 发布失败处理
2. 消息路由
- 路由键的使用
- 绑定关系匹配
- 路由策略选择
3. 消息投递
- 投递机制
- 投递确认
- 重试机制
消息可靠性保证
1. 生产者可靠性
- 发布确认
- 事务机制
- 备份交换机
2. 消息传输可靠性
- 持久化机制
- 镜像队列
- 高可用保证
3. 消费者可靠性
- 消费确认机制
- 重试策略
- 死信处理
最佳实践
1. 消息设计
- 消息格式规范
- 消息大小控制
- 消息优先级使用
2. 性能优化
- 批量处理
- 预取机制
- 并发消费
3. 异常处理
- 消息重试策略
- 死信队列处理
- 业务补偿机制