云服务 - 两个共享文件系统的Web角色

时间:2015-10-05 16:06:15

标签: azure azure-cloud-services

我有一个非常特殊的要求:

访问本地共享文件位置的两个Web角色。

我知道“本地存储”角色设置,但这些设置只能在每个角色范围内访问。

有没有人知道另一个选择来实现这个目标?

-------编辑--------

正如所建议的那样,我会更清楚地解释我在这里想要实现的目标。

我正在实施Only Office,这是办公室文件的网络编辑器。他们的产品需要在文件系统上保存一个文件,以便在编辑器上打开。

我不想将他们的ASP.NET MVC开源项目与我的代码混合在一起,这就是为什么我要将他们的网站部署为单独的webrole。

-------- END EDIT ------------

由于

3 个答案:

答案 0 :(得分:0)

这里你基本上有2个选项,两个都在评论中提到。您可以使用BLOB存储,也可以使用Azure文件使用SMB共享,​​我相信它仍在预览中。我们使用Azure文件在几个Linux机器上安装SMB共享。我们注意到的一件事是它并不是特别快。它也建立在blob存储之上。以下是Azure文件https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-files/的链接。

如果您选择使用blob存储,则需要考虑并发性。 https://azure.microsoft.com/en-us/blog/managing-concurrency-in-microsoft-azure-storage-2/

答案 1 :(得分:0)

在你的问题中,你说明了(我的重点):

  

我实现了Office,这是Office文件的Web编辑器。 他们的产品需要在文件系统上保存一个文件才能在编辑器上打开。

如果仅限Office 要求要在编辑文档时使用临时文件存储空间,您可以使用此功能在云服务Web角色中。这假设你的用户如果温度过高就不会太生气。工作文件丢失了#39;在角色重新开始时。

Web(和工作者)角色是非持久性的,如果Azure Service Fabric需要修补底层主机,或者它们可能因故障而崩溃(这通常是成对部署它们的原因),Azure Service Fabric可能会反弹它们-tolerance等。)如果您在Web角色上保存了某些文件系统,则无法保证在角色被退回时它会存在。

如果您需要耐久性,则需要实施基于Azure Blob Storage的内容以及基于Blob Leases的内容。但是我想, Only Office 没有Azure的实现....

如果失败了,你可以尝试在Azure Web App Service上运行,但我想你会遇到同样的问题。支持存储,需要在Blob存储上实现一些功能。

所以,最后,如果你想要完全控制和类似于内部运行的东西,请查看使用IaaS虚拟机,您可以随意使用所有文件系统。

<强> == UPDATE ==

看看Only Office网站,有一个SaaS产品Only Office SaaS Hosting,运行一年可能比我写这个答案所花费的时间便宜!

如果不这样做,如果你查看Only Office Document Server的要求,那么没办法你将会在网络角色上运行它。转到Azure IaaS VM。

答案 2 :(得分:0)

我建议使用Azure文件服务,您可以使用类似URI的共享。

看看这个: https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-files/