我希望跨所有服务器扩展传入请求。
我可以在集群中完成,声明全局变量存储数组中的所有传入请求。
//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
无论如何缩放圆形参考对象?
答案 0 :(得分:0)
呃什么?除非您在服务器之间同步它们,否则无法工作。我会换一种说法:猜猜我现在想的数字! (提示:你显然不能)但是,如果我在另一台服务器上创建另一个实例,我无法取回商店请求
我希望跨所有服务器扩展传入请求。
你的方法的后半部分是正确的方法。使用数据库跟踪所有服务器上的数据。但是你必须在每次继续之前检查数据库。由于延迟,这最终会导致一些问题。
无论如何缩放圆形参考对象?
我不明白这一部分。你能详细说说吗?什么循环参考?