2014-08-30 85 views
1

我一直在将我的应用程序迁移到亚马逊的Web服务,并且让我困惑的一件事是我的静态变量会发生什么?他们是否坚持实例(如果不是,我如何坚持)?静态变量和亚马逊AWS

回答

1

不,请在多个EC2实例上运行的应用程序中的静态变量执行而不是在实例间持续存在。

您的两个选项将是数据库,如RDSDynamo,或支持相同区域复制的内存中解决方案,如ElastiCache

思考云时,处理可缩放的应用程序时要记住的重要事情是波动性。而不是在应用程序的整个持续时间内存在一台服务器,将实例视为随时可能被杀死并产生的实例会更有用。因此依靠记忆状态是非常危险的。

+0

复杂的变量可以存储在RDS或Dynamo中吗?例如。作为会话变量,还是我的应用程序必须序列化数据? – arao6 2014-08-30 06:34:30

+0

这取决于它有多复杂。你有没有一个你可能会想到什么样的对象的例子?此ServerFault答案也许是启发性的:http://serverfault.com/a/32453 – 2014-08-30 16:48:53

+0

它看起来像这样:http://pastebin.com/wtEXSM3A ServerFault的答案确实是有启发性的。我是云计算的新手,但我倾向于数据库选项,因此如果我的应用程序在一个实例中发生内存不足(因为有很多像文件处理这样的内存中操作),我猜应​​用程序可以“优雅地”在另一个实例上恢复,对吗?你有什么建议? – arao6 2014-08-31 04:02:37