如何在express-node js中使用具有集群的粘性会话

时间:2014-06-02 09:34:55

标签: node.js session express

我参考this question

创建了一个依赖于应用程序的群集

但我开始面对会话处理方面的问题。如何在带有集群的快速js中使用粘性会话。

我试图使用此npm module。但这导致了同样的情况。如何解决此会话问题。

sticky(http.createServer(app).listen(app.get('port'), function () {
    console.log('Express server listening on port ' + app.get('port'));
}););

2 个答案:

答案 0 :(得分:2)

最后找到解决方案只需尝试此代码。它保持粘性,并且它为其他客户端使用所有cpus [process]。您可以使用以下代码使用快速群集粘性会话。你可以在https://github.com/indutny/sticky-session

获得粘性会话
var http = require('http');
var cluster = require('cluster'); // Only required if you want the worker id
var sticky = require('sticky-session');
var express = require('express');
var app = express();

app.get('/', function (req, res) {
    console.log('worker: ' + cluster.worker.id);
    res.send('Hello World!');
});


var server = http.createServer(app);
    sticky.listen(server,3000);

答案 1 :(得分:-4)

它与Express无关。

你刚忘了粘贴功能上的listen()。

sticky(
  http.createServer(app).listen(app.get('port'), function () {
      console.log('Express server listening on port ' + app.get('port'));
  });
).listen(app.get('port'),function() {
  console.log('Sticky server started on port' + app.get('port'));
});