4

我有 2 个问题。

  1. process.send 和 worker.send 功能是否阻塞?而这种类型的进程间通信性能如何?

  2. 我有一个集群,它的主服务器将更新推送给工作人员,而工作人员将聚合数据推送到主服务器。但是,有一个特定的查询,我需要来自 master 的最新数据。当请求进入工作人员时,我存储“响应”对象,然后执行 process.send() 以联系 master 以获取最新数据,然后在 master 上,我获取数据然后执行 worker.send () 发送回数据。我来回传递一个 responseId,以便当请求最终返回时,我知道要写回哪个响应,然后在其上调用 end() 函数。

有没有更好的方法在进程之间进行这样的同步调用?它不会经常发生,但是对于正在发生的所有其他非阻塞请求,这会产生什么样的性能影响?它会支撑其他一切吗?这是最有效的方法吗?

4

1 回答 1

0

process.send 和 worker.send 功能是否阻塞

不。

以及这种类型的进程间通信的性能如何

大部分与 JSON 序列化/反序列化相同。数据传输由操作系统处理,速度非常快。

有没有更好的方法在进程之间进行这样的同步调用?

不在节点中。

它不会经常发生,但是对于正在发生的所有其他非阻塞请求,这会产生什么样的性能影响

不重要。就像查询数据库一样……当数据库运行并完成其工作时,Web 进程可以自由地响应其他请求。这里的校长相同(主 -> 工人)。

于 2016-04-01T05:33:09.067 回答