弹性beanstalk - 在发生自动缩放时在实例之间共享数据

时间:2016-05-12 20:07:18

标签: node.js amazon-web-services elastic-beanstalk

我有一个在弹性beanstalk服务器上运行的节点js应用程序。服务器配置为在负载变高时自动缩放。我在想,如何在所有实例之间共享变量?一种方法是将它们保存到dynamodb,但是不是有更简单的方法吗?

1 个答案:

答案 0 :(得分:1)

“变量”究竟是什么意思?会话数据?全球申请数据?

通常,当应用程序分布在AWS上的多个服务器上时,您希望通过数据库(RDS或DynamoDB)或缓存(ElastiCache)共享数据,并且您希望通过S3共享文件。

您可以在负载均衡器上启用粘性会话,以便来自单个用户的所有请求都将转到单个服务器。这可以防止用户在应用程序扩展时突然变为注销或丢失数据,而无需将该用户的数据发送到新服务器。如果您有长时间运行的用户会话,那么粘性会话可能会阻止跨服务器的最佳负载平衡。

如果您想跨服务器共享会话,以防止需要粘性会话,或者只是更优雅地处理扩展事件,您可以store user sessions in Redis(ElastiCache)。