是否可以在nodejs中存储循环引用对象?

时间:2011-05-30 03:35:13

标签: node.js scale circular-reference

我希望跨所有服务器扩展传入请求。

我可以在集群中完成,声明全局变量存储数组中的所有传入请求。

  //SERVER 1
    var store =[];
    //Instance node master
    http.createServer(function(req,res){


    store['InRequest1']=req;


    });
    //Instance node child
   http.createServer(function(req,res){


       var request = store['InRequest1'];
      request.write('sss');


    });

但是如果我在另一台服务器上创建另一个实例,我就无法收回商店请求:

//SERVER 2
var request = store['InRequest1'];
request.write('sss');

我找到了使用memcached / redis存储圆形对象(请求)的方法,但是当我尝试

 memcached.set(req); //hit error unable convert circular reference objects

无论如何缩放圆形参考对象?

1 个答案:

答案 0 :(得分:0)

  

但是,如果我在另一台服务器上创建另一个实例,我无法取回商店请求

呃什么?除非您在服务器之间同步它们,否则无法工作。我会换一种说法:猜猜我现在想的数字! (提示:你显然不能)

  

我希望跨所有服务器扩展传入请求。

你的方法的后半部分是正确的方法。使用数据库跟踪所有服务器上的数据。但是你必须在每次继续之前检查数据库。由于延迟,这最终会导致一些问题。

  

无论如何缩放圆形参考对象?

我不明白这一部分。你能详细说说吗?什么循环参考?