具有弹性beanstalk自动缩放的Shared node.js全局变量

具有弹性beanstalk自动缩放的Shared node.js全局变量,node.js,amazon-web-services,express,amazon-elastic-beanstalk,autoscaling,Node.js,Amazon Web Services,Express,Amazon Elastic Beanstalk,Autoscaling,我有一个node.js应用程序运行在elastic beanstalk中,配置了自动缩放功能。假设我有以下代码: var app = express(); var getCounter = 0; app.get('*', function(req, res){ getCounter = getCounter + 1; res.send("That was get request " + getCounter); }); 既然我希望getCounter在我的所有实例中都是相同的,那么

我有一个node.js应用程序运行在elastic beanstalk中,配置了自动缩放功能。假设我有以下代码:

var app = express();

var getCounter = 0;

app.get('*', function(req, res){
  getCounter = getCounter + 1;
  res.send("That was get request " + getCounter);
});

既然我希望
getCounter
在我的所有实例中都是相同的,那么除了在数据库中存储它之外,我还有什么选择呢?它感觉太“短暂”了,无法存储在数据库中。这是一个放入缓存的候选对象吗

您需要一个持久数据库。其他一切都是徒劳的。如果你不把它保存在所有进程都可以访问的地方,它就是本地数据,很快就会失去同步。全局变量是每个进程的变量,而不是系统范围的变量


您可以使用任何您想要的东西,如分布式缓存或亚马逊RDS提供的功能更全面的数据库(如果您愿意)。没有某种集中化,共享数据是不容易的。

您需要一个持久性数据库。其他一切都是徒劳的。如果你不把它保存在所有进程都可以访问的地方,它就是本地数据,很快就会失去同步。全局变量是每个进程的变量,而不是系统范围的变量

您可以使用任何您想要的东西,如分布式缓存或亚马逊RDS提供的功能更全面的数据库(如果您愿意)。没有某种集中化,共享数据是不容易的