rabbitmq - 通过 RabbitMQ 发送二进制文件

标签 rabbitmq

我现在正在指定一个使用 RabbitMQ 作为消息队列的设计。该消息将有一个 JSON 正文,特别是对于一条消息,我想添加一个小的二进制文件。

我想知道的是,二进制文件的数据应该是 JSON 消息的一部分,还是可以单独附加到消息中?

最佳答案

由于 RabbitMQ 消息有效负载只是一个二进制数组,因此您应该使用 3 个字段对消息正文进行编码:

  • 文件大小
  • 文件的二进制数据
  • json

  • 我不同意先前关于在 json 中嵌入文件的答案。
    如果你在 json 中编码文件数据,你会因为 json 转义而浪费空间 + 由于文件数据的 json 编码/解码导致不必要的 CPU 使用 + 你需要读取文件数据两次(一次用于 json 反序列化,一次用于复制它需要去的地方)

    关于rabbitmq - 通过 RabbitMQ 发送二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22070639/

    相关文章:

    docker-compose up <service> 无法正确启动 <service>

    java - 在使用 PreparedStatement 的同时使用 RabbitMQ 设计 Java OSGi 应用程序

    rabbitmq - 如何使用spring-rabbitmq将消息标记为持久?

    python - 如何使用鼠兔通过rabbitmq发送文件?

    java - Rabbitmq 连接在本地主机上突然关闭

    postgresql - 如何正确使用 Postgres 触发器中的任务队列

    python - 定期安排任务的最佳工具?

    rabbitmq - 在配置文件中定义Rabbitmq策略

    javascript - 我在 Mac 上使用 RabbitMQ for Node.js 时遇到错误

    spring-boot - 更新rabbitmq中消息的有效负载