content-type属性
如同各种标准化的HTTP规范,content-type传输消息体的MIME类型。例如,如果你的应用程序正在发送JSON序列化的数据值,那么将content-type属性设置为application/json将允许尚待开发的消费者应用程序在收到消息时检查消息类型并对消息进行正确解码。
在 RabbitMQ 中,默认的 content-type 是 application/octet-stream。
applicaion/octet-stream 是一个常见的 MIME 类型,它表示二进制数据流,也可以理解为未知的二进制文件类型。“octet” 指的是 8 位字节,表示该类型可以包含任意的二进制数据。由于它是一个通用的二进制数据流类型,它不会对数据进行解析或做出任何假设,而是将数据视为纯粹的字节序列。
application/octet-stream 类型的文件通常没有特定的格式或解析方式,因此接收者需要根据具体的需求和上下文来处理该文件。它可以用于传输任何类型的数据,例如图像、音频、视频、压缩文件等。
在 RabbitMQ 中,默认将消息的 content-type 设置为 application/octet-stream,因为 RabbitMQ 不对消息的内容进行解析或做任何假设,它仅负责将消息传递给消费者。消费者可以根据自己的需求和上下文来解析和处理接收到的消息数据。
content-encoding属性
默认情况下,通过AMQP发送的消息并不会被压缩。在处理如XML这种过于繁杂的标记语言时,甚至在消息数量较大的场景下处理像JSON或YAML等较少使用标记的轻量级格式时,这都可能会是个问题。你的发布者可以在发布消息之前压缩消息,并在收到消息时进行解压缩,如同我们使用gzip在服务器上压缩网页然后在浏览器端实时解压缩这些网页之后再进行展示一样。
RabbitMQ 的content-type和content-encoding是如何结合使用的?
在 RabbitMQ 中,c

最低0.47元/天 解锁文章
2715

被折叠的 条评论
为什么被折叠?



