Basic.Properties
为了了解消息属性,我们首先要知道AMQP的Basic.Properties数据结构,因为每条消息都包含这一结构。
包含在消息头帧中的消息属性是一组预定义的值,这些值通过Basic.Properties数据结构指定。如delivery-mode属性,这一属性告诉你RabbitMQ保存消息到内存中时,是否应该先存入磁盘。
首先我们介绍一下Basic.Properties的各个基本属性:
- content-type: 内容体的类型,如application/json
- content-encoding: 压缩或编码格式
- message-id和correlation-id: 唯一标识消息和消息响应,用于工作流程中实现消息跟踪
-timestamp: 减少消息大小,描述消息创建时间
- expiration: 表明消息过期
- delivery-mode: 将消息写入磁盘或内存队列
- app-id和user-id: 帮助追踪出现问题的消息发布者应用程序
- type: 定义消息类型的自由格式字符串值
- reply-to: 实现响应消息的路由
- headers: 是一个映射表,定义自由格式的属性和实现rabbitmq路由