云服务——两个web角色共享文件系统



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

两个web角色访问本地共享文件位置

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

有谁知道另一个选项来完成这个吗?

------- EDIT --------

根据建议,我将更清楚地解释我在这里试图达到的目的。

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

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

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

谢谢

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

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

如果只有Office的要求在编辑文档时使用临时文件存储,那么您可能能够在云服务Web角色中摆脱这一点。这是假设你的用户不会因为临时工作文档在角色重新启动期间"丢失"而太生气。

Web(和Worker)角色是非持久的,如果它们需要修补底层主机,Azure Service Fabric可能会反弹它们,或者它们可能只是由于故障而崩溃(这通常是您成对部署它们的原因-容错等)。如果您将某些内容保存到Web角色的文件系统中,则不能保证在角色反弹时它会在那里。

然而,如果你需要持久性,你将需要实现一些基于Azure Blob存储和可能基于Blob租赁的东西。但是我猜想只有 Office没有Azure的实现....

如果失败,你可以尝试在Azure Web应用服务上运行,但是我想你会有同样的问题,重新备份存储,需要在Blob存储上实现一些东西。

所以,最后,如果你想要完全控制和类似于本地运行的东西,看看使用IaaS虚拟机,在那里你可以随心所欲地玩所有的文件系统。

更新

= = = =

看看Only Office网站,那里有一个提供Only Office SaaS Hosting的SaaS服务,运行一年的费用可能比我写这个答案所花费的时间要便宜!

如果做不到这一点,如果您查看仅Office文档服务器的需求,就会发现没有办法您将在Web角色上运行它。

你基本上有两个选择,都在评论中提到。您可以使用BLOB存储,也可以使用Azure文件使用SMB共享,我相信Azure文件还处于预览阶段。我们已经使用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/

我建议使用Azure文件服务,你可以有一个像URI这样的共享来使用。

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

最新更新