【问题标题】:How to prevent blocked by JSON.stringify in nodejs?如何防止在nodejs中被JSON.stringify阻止?
【发布时间】:2014-08-18 11:47:07
【问题描述】:

我编写了一些基于套接字的服务器应用程序,它接受来自许多客户端的 JSON 数据。 当我在 JSON.stringify 之后将大型(超过 20mb)数据导出到文件时,应用程序在 stringify 操作期间被阻止。 所以,我想防止被 JSON.stringify 阻塞。 是否有任何库可以在不阻塞的情况下进行字符串化?或者如何弄清楚?

【问题讨论】:

  • 也许使用工人或分叉一个新的进程或什么?此外,在您的情况下,这听起来很清楚,但提供一些代码示例总是好的,即使它是一个明显的单行。
  • 谢谢。我在节点 js 上读到了“集群”。我会在四核机器上尝试负载均衡。
  • 集群是好的,但它仍然阻塞。我的意思是使用 web worker - 看看示例实现。

标签: json node.js stringify


【解决方案1】:

有提供异步 JSON API 的 npm 模块。例如:

  • JSONStream,具有流 API。
  • Big-Friendly JSON,具有流 API 和异步 标准 JSON API 的版本使用 下面概述了事件循环上的分区范例。

参考https://nodejs.org/en/docs/guides/dont-block-the-event-loop/#blocking-the-event-loop-json-dos

【讨论】:

    猜你喜欢
    • 2021-02-25
    • 1970-01-01
    • 1970-01-01
    • 2016-04-01
    • 2020-07-18
    • 2016-05-17
    • 2018-10-05
    • 2020-03-18
    • 1970-01-01
    相关资源
    最近更新 更多