當項目有兩個或多個實例時,我的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);
});