美文网首页程序员
Nodejs Cluster 多进程数据共享

Nodejs Cluster 多进程数据共享

作者: 来自天涯的小明 | 来源:发表于2019-01-10 15:15 被阅读0次

背景是在想如何在 cluster 多进程下如何进行单例模式已经数据共享

参考文章

参考了很多文章,基本都是在单文件内进行的一次性通信。(国外又翻墙又不懂英文的....)

那么如果在请求之后,如何才能取到 Master 进程的数据呢。

最后还是没有做到将数据放在一个进程内存中,其他进程能随意访问(写出想法只为抛砖引玉)。

主要的代码展示和文件结构

我写的是 get 请求,就用浏览器思维走一遍流程吧。

app.js

1.在启动服务的时候需要让主进程进行监听子进程。

主进程监听子进程的消息

testController.js

2. 请求进来之后子进程将会发出消息,告诉主进程我要获取参数啦。

get 请求入口函数

3. 主进程接收到之后,发现在自己的全局变量里面有要的数据就再发送给发送消息的子进程。(这里我想过直接获取子进程的 response 让主进程对请求进行响应,但是 response 里面有循环引用没法 stringify)。

主进程发送所需函数

4. 子进程监听到有信息就将参数保存下来了。

子进程监听

可以看出来我是直接将子进程的参数响应回去,异步的结果就是第一次没有参数,第二次获取到主进程的参数。

第一次请求 刷新一次的请求

这样做只是将主进程的参数同步了一份到子进程.....

想了很久这样子无法实现想要的效果,就发片文章求助一下。

(入坑尚浅,望共同进步)

相关文章

  • Nodejs Cluster 多进程数据共享

    背景是在想如何在 cluster 多进程下如何进行单例模式已经数据共享 参考文章 参考了很多文章,基本都是在单文件...

  • node 多进程与session共享

    一、Node如何开启多进程 cluster是一个nodejs内置的模块,用于nodejs多核处理。cluster模...

  • fork与vfork的区别2020-05-04

    1.数据共享方面: fork ():子进程拷贝父进程的数据段,代码段 vfork( ):子进程与父进程共享...

  • nodejs实现多进程(cluster 模式)

    Nodejs的主进程是单线程的,但它有多线程处理方案(更准备来说是多进程方案),即主进程开启不同的子进程,主进程接...

  • pm2源码分析

    Node Cluster Nodejs的设计架构和nginx类似,是多进程单线程模型。由于Node单线程的限制,在...

  • Android

    ContentProvider 作用 进程间数据共享 即跨进程通信 原理 Binder进程间通信结合匿名共享内存(...

  • 用 connect-mongo 把 session 存到 mon

    因为用 pm2 启动 node, cluster 模式启动4个进程, session 不能共享。为了解决这个问题,...

  • nodejs cluster

    nodejs集群可以使用cluster模块, if (cluster.isMaster) { // Fork wo...

  • 关于Nodejs的多进程模板Cluster

    前言 我们都知道nodejs最大的特点就是单进程、无阻塞运行,并且是异步事件驱动的。Nodejs的这些特性能够很好...

  • nodejs cluster

网友评论

    本文标题:Nodejs Cluster 多进程数据共享

    本文链接:https://www.haomeiwen.com/subject/onmorqtx.html