nats.io - 发送大于 1MB 的消息是一种不好的做法吗?
问题描述
通过 NATS 发送大于 1MB 的消息是一种不好的做法吗?例如,大小约为 2MB 的 JSON 响应。如果这是一个不好的做法,将消息分解成更小的响应是一种更好的方法,还是 NATS 支持将多个响应发送回单个请求?(非常感谢 C#、Node 或 Java 中的示例)。
解决方案
大小限制为 1 MB - 查看NATS 中是否存在消息大小限制?
不发送大于大小限制的消息。您可以在服务器设置中增加大小限制,但 NATS 人员可能有充分的理由来设置该限制,所以我不推荐它。
Request-Reply模式不提供对请求的多个回复。在类似的情况下,我会这样进行:
- 请求者:创建一个新的唯一主题名称,例如 UUID。
- 请求者:订阅那个主题。
- 请求者:发送一条设置为该主题的“回复”消息。
- 请求者:收集到达主题的所有响应,直到“响应结束”消息到达或达到超时。
对“响应者”进行编码,以便为请求者提供所需的内容(其中包括:“响应结束”消息)。
这样,您可以将大型响应拆分为 1 MB 块。
推荐阅读
- oauth - 参数 user_id 不是 HTTP GET 的有效 Instagram 用户 ID
- excel - 单击excel中的超链接将文件从网络驱动器本地服务器下载到文件夹
- javascript - 如何通过 Express 发送抓取的网站数据?
- python - Keras CNN 中的输入数组
- javascript - Recursion with an API, using Vanilla JS
- sapui5 - 如何从绑定到 SAPUI5 中的元素的“上下文”中获取 EDM 类型?
- android - Expo Android上API请求的网络错误
- javascript - React hooks - useEffect 详尽的 deps - 对 location.hash 的循环依赖
- angular - Angular 中使用 Http 的 Observable 的好处
- swift - swift中不同“流路径”的嵌套函数技术