当项目有两个或多个实例时,我的bluemix应用程序出现问题。Bluemix Node.js在多个实例中使用会话
如果我只保留一个实例的项目,这段代码按预期工作,当调用url'/ load'时,我接收保存在'/ save'中的数据。但是,当我在应用程序中放置更多的实例时,'/ load'最多时候不会发送任何内容。
它像会话保存在项目的一个实例中,当用户点击另一个url时,'/ load'正在另一个实例中执行。
那么,有没有人知道如何确保用户只使用一个实例或在实例之间共享会话值?
var express = require('express');
var session = require('express-session');
var cfenv = require('cfenv');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var app = express();
app.use(express.static(__dirname + '/public'));
app.use(cookieParser());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: false
}));
app.use(session({
resave: 'false',
saveUninitialized: 'true',
secret: 'cub1ksqu4d_mysp0t'
}));
var appEnv = cfenv.getAppEnv();
app.get("/save", function (req, res) {
req.session.fullname = "John Galt";
res.send("Saved session");
});
app.get("/load", function (req, res) {
res.send(req.session.fullname);
});
app.listen(appEnv.port, '0.0.0.0', function() {
console.log("server starting on " + appEnv.url);
});