我运行两个蔚蓝实例在我的云服务,是托管一个网站。
我上传一个文件到一个文件夹,它保存在其中一个实例中。当我尝试加载它时,如果azure选择了错误的实例,它就找不到文件。我有什么办法解决这个问题?
我想把文件保存在一个blob存储器中,但是如果我能这样保存它,我会节省一些时间。
发布于 2013-09-05 07:09:42
正如您在问题中提到的,您应该将其保存在blob存储中。这样做的理由很少:
stateless by nature
.。这意味着您在VM上所做的任何事情(比如保存文件等等)。一旦VM崩溃就消失了。另一方面,Blob存储是持久化存储,可以通过简单的http协议访问。因此,当用户上传文件时,您可以将其保存在blob存储中。当用户请求时,您只需从blob存储服务blob。
更新-基于下面的注释
关于您的第一条评论,您仍然可以使用blob存储。您可以做的是创建一个blob容器来保存临时文件,一旦用户完成了所有步骤,您就可以将它们移动到另一个容器(让我们称之为永久容器)。要将blobs从一个容器复制到另一个容器,甚至不必将blobs下载到VM中。Windows支持服务器端异步复制,它将blob从一个容器复制到另一个服务器端。
关于你的第二个评论,我不认为你能改变负载平衡策略。有一种叫做Application Request Routing (ARR)
的东西,它确实实现了粘性会话,但不幸的是,我对它并不熟悉。你也许想调查一下。
发布于 2014-05-05 13:34:32
你用的是VMs,对吧?如果切换到Azure网站是一种选择,那么您的应用程序文件/图像将位于一个共享的网络驱动器,始终对您的所有实例可用。http://azure.microsoft.com/en-us/documentation/videos/web-sites-internals-and-the-file-system/
https://stackoverflow.com/questions/18639828
复制