Skip to content

RabbitMQ 消息模型

基本消息模型

1. 点对点模型(P2P)

  • 一个生产者对应一个消费者
  • 消息只会被消费一次
  • 适用场景与示例

2. 发布订阅模型(Pub/Sub)

  • 一个生产者对应多个消费者
  • 消息会被多次消费
  • 不同交换机类型的实现
  • 应用场景分析

消息属性

1. 消息基本属性

  • 消息ID
  • 消息优先级
  • 消息过期时间
  • 消息持久化
  • 消息类型

2. 消息头部

  • 自定义属性
  • 系统属性
  • 属性使用场景

消息流转过程

1. 消息发布

  • 生产者发布流程
  • 发布确认机制
  • 发布失败处理

2. 消息路由

  • 路由键的使用
  • 绑定关系匹配
  • 路由策略选择

3. 消息投递

  • 投递机制
  • 投递确认
  • 重试机制

消息可靠性保证

1. 生产者可靠性

  • 发布确认
  • 事务机制
  • 备份交换机

2. 消息传输可靠性

  • 持久化机制
  • 镜像队列
  • 高可用保证

3. 消费者可靠性

  • 消费确认机制
  • 重试策略
  • 死信处理

最佳实践

1. 消息设计

  • 消息格式规范
  • 消息大小控制
  • 消息优先级使用

2. 性能优化

  • 批量处理
  • 预取机制
  • 并发消费

3. 异常处理

  • 消息重试策略
  • 死信队列处理
  • 业务补偿机制