【问题标题】:Does a WebRole on Windows Azure has to be stateless?Windows Azure 上的 WebRole 是否必须是无状态的?
【发布时间】:2011-12-15 17:48:05
【问题描述】:

我遇到了一个有趣的情况。我已通过仪表板重新启动我的 WebRole。 WebRole 重新启动并运行后,我已远程桌面化到 WebRole 并发现我已发布站点的整个文件夹已被擦除并替换为包中的文件夹。只有桌面上这些文件夹之外的文本文件才能幸存下来。

除非它的整个驱动器 E: 在尝试重新启动时被擦除并重新安装。

所以现在我的想法是,由于 VM 可以由于崩溃或 Microsoft 维护而重新启动,我们作为开发人员必须确保 WebRole 是无状态的,并且没有任何内容保存在本地,这是正确的吗?

非常感谢,

【问题讨论】:

    标签: azure azure-web-roles


    【解决方案1】:

    Compute VM(无论是 Web Role、Worker Role 还是 VM Role)的本地磁盘存储不是持久的。它可以随时消失。数据中心有权在其认为必要时移动和重新创建您的虚拟机。这可能是为了响应硬件故障,或者仅仅是因为数据中心需要重组。发生这种情况时,您会丢失 VM 磁盘文件并返回部署映像。发生这种情况只是时间问题。这是云计算计算实例的正常行为。

    您如何将数据持久保存在云端?最好使用持久的托管服务,例如 Windows Azure 存储或 SQL Azure 数据库。这为您提供了可以依赖的存储空间,并由三重冗余提供支持。

    如果您无法迁移到永久性存储,另一种可行的方法(如果数据文件是只读的)是将数据文件添加到您的部署包并使用该包升级您的 VM 实例。

    这个答案是从这个 URL 移植过来的:http://social.msdn.microsoft.com/Forums/en-AU/windowsazuredevelopment/thread/3cd21ac6-aeb6-442b-af89-ae913946b3ba

    【讨论】:

      猜你喜欢
      • 2013-10-08
      • 1970-01-01
      • 2012-04-08
      • 2012-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-03
      • 2011-01-07
      相关资源
      最近更新 更多