关于 NODEJS GLOBAL与多核心CLUSTER 问题的一些探究
发布于 10 年前 作者 MiguelValentine 4828 次浏览 最后一次编辑是 8 年前

因为之前研究NODEJS自建缓存。但是在实际运营过程中发现问题。 因为跑缓存的变量是由GLOBAL定义的。

于是尝试了由GLOBAL -> cluster 的启动顺序。 在刷写缓存时失败。原因是 每个核心的GLOBAL 独立。要同步GLOBAL还需要使用process方法。

使用核心事件的监听的确可以同步GLOBAL做缓存。 但是很严重的一个问题,就是缓存副本过多。当作为生产环境时,吃内存现象极其严重。同步缓存时耗费系统资源过大。

最终还是放弃了CLUSTER+GLOBAL缓存的方式采用REDIS。

除了在服务器上另开一个单核实例作为缓存之外,有没有大神可以解决这个问题。

_(:з」∠)_研究中拜谢。

PS:在采用EXPRESS的过程中,发现MVC并不能高效发挥服务器性能。我个人采用了基于路由表的一种R2B(自称)形式。

2 回复

用了 cluster 的话,就用到了多进程,每个 node 跑在不同的进程上面,如果要同步的话,一定是要另开一个进程来做通信的。

我觉得用 redis 的方案很好啊。

恩,我觉得redis很好了,不然你烧不慎,就可能出现内存泄漏

回到顶部