我正在寻找一种方法来共享NodeJS中所有集群实例的相同数据结构(包含函数,因此JSON不是选项)。我有一个名为'用户'的数据结构,用于跟踪用户会话并包含他们有权访问的功能。我需要能够跨所有节点进程共享此数据结构,或者我需要其他设计模式。有谁知道这个问题的任何解决方案?感谢NodeJS集群问题
回答
我意识到这是陈旧和回答,但它可能有利于其他人注意替代方案。处理这种情况的推荐方式是将此数据结构的功能放在单独的文件中,并在需要时使用它。这将基本上拉入“代码/函数”,并将数据本身存储(序列化/反序列化)到任何数据存储中。
存在用于上的NodeJS设置适当的IPC(进程间通信)的多个选项:使用文档/键 - 值存储解决方案等Redis(键值)或MongoDB
- (NoSQL的文档 - 使用cluster模块的集成IPC功能存储)
- (见
send
method)
决定哪些这些解决方案的一个最适合取决于你的需要简单和你的项目设置。对于我们的最后一个项目,我决定使用这两种方法:
- IPC触发工作调度部分任务不同情况的NodeJS
- Redis的集中会话级和API令牌管理
如果您正在使用Express,我强烈建议您使用Redis中间件connect-redis。此会话中间件自动处理基于快速应用程序的集中式会话管理(这也意味着您可以存储复杂的JS对象并可从所有实例访问它们)。
但我需要能够共享包含函数的数据结构,并且不能使用JSON函数 –
您可以使用MongoDB进行尝试,它似乎包含用于函数序列化的序列化开关:http://mongodb.github .com/node-mongodb-native/api-bson-generated/bson.html?highlight = serialize#BSON.serialize – schaermu
IPC没有更好的方法吗? –
- 1. 问题与节点群集(nodejs)
- 2. nodejs中通过群集的socket.io问题
- 3. 群集MSMQ问题
- 4. NodeJS集群如何
- 5. jboss集群查询问题
- 6. Kubernetes Redis集群问题
- 7. Rails,群集gmaps4rails问题
- 8. BigCouch集群连接问题
- 9. MySQL集群问题ndb_mgmdon Centos7
- 10. 的MySQL集群问题
- 11. arangodb集群认证问题
- 12. WSO2AM网关集群问题
- 13. jboss 6集群问题
- 14. Mule集群配置问题
- 15. Vertx Hazelcast:集群问题
- 16. nodejs集群socket.io nginx配置
- 17. nodejs - 集群断开/关闭
- 18. 的NodeJS的EventQueue在集群
- 19. NodeJS集群全局变量
- 20. 集群的NodeJS不上市
- 21. AWS上的NodeJS集群Lambda
- 22. PM2 NodeJs集群模式
- 23. 崇集群的问题:无法启动tsugn集群
- 24. Websphere 8集群和JSF2问题
- 25. 火花纱群集权限问题
- 26. Hadoop单节点集群设置问题
- 27. ASP.NET:集群环境通信问题
- 28. MassTransit与RabbitMQ集群连接问题
- 29. 群集的虚拟IP问题
- 30. IBM MQ集群连接问题
是的。这已经很长时间了,但你绝对正确!函数不是有状态的,所以根据需要注入它们就是要走的路! –