首页 > 解决方案 > 发送大于 1MB 的消息是一种不好的做法吗?

问题描述

通过 NATS 发送大于 1MB 的消息是一种不好的做法吗?例如,大小约为 2MB 的 JSON 响应。如果这是一个不好的做法,将消息分解成更小的响应是一种更好的方法,还是 NATS 支持将多个响应发送回单个请求?(非常感谢 C#、Node 或 Java 中的示例)。

标签: nats.io

解决方案


大小限制为 1 MB - 查看NATS 中是否存在消息大小限制?

不发送大于大小限制的消息。您可以在服务器设置中增加大小限制,但 NATS 人员可能有充分的理由来设置该限制,所以我不推荐它。

Request-Reply模式不提供对请求的多个回复。在类似的情况下,我会这样进行:

  • 请求者:创建一个新的唯一主题名称,例如 UUID。
  • 请求者:订阅那个主题。
  • 请求者:发送一条设置为该主题的“回复”消息。
  • 请求者:收集到达主题的所有响应,直到“响应结束”消息到达或达到超时。

对“响应者”进行编码,以便为请求者提供所需的内容(其中包括:“响应结束”消息)。

这样,您可以将大型响应拆分为 1 MB 块。


推荐阅读