我现在正在指定一个使用 RabbitMQ 作为消息队列的设计。该消息将有一个 JSON 正文,特别是对于一条消息,我想添加一个小的二进制文件。
我想知道的是,二进制文件的数据应该是 JSON 消息的一部分,还是可以单独附加到消息中?
最佳答案
由于 RabbitMQ 消息有效负载只是一个二进制数组,因此您应该使用 3 个字段对消息正文进行编码:
我不同意先前关于在 json 中嵌入文件的答案。
如果你在 json 中编码文件数据,你会因为 json 转义而浪费空间 + 由于文件数据的 json 编码/解码导致不必要的 CPU 使用 + 你需要读取文件数据两次(一次用于 json 反序列化,一次用于复制它需要去的地方)
关于rabbitmq - 通过 RabbitMQ 发送二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22070639/