我们有一个遗留系统,我们正计划迁移到Azure。系统使用sqlite文件来存储我们需要访问的数据。在使用大量解决方案后,我们决定将sqlite文件存储在Azure文件存储中,并通过来自云工作者角色的UNC路径访问它们(我们无法使用Azure功能或应用服务#39; t能够使用SMB)。
这一切似乎都运行正常,但我感到紧张的是,sqlite在尝试以这种方式访问大文件(有效地通过网络)时可能会做出反应。
有没有人有这方面的经验,如果是这样,你遇到任何问题?
替代方案是使用Web辅助角色并将sqlite文件存储在blob存储中。但是,为了访问数据,我们必须将blob复制到Web服务器计算机上的临时文件中。
答案 0 :(得分:0)
您当然可以使用Azure文件存储,因为它实际上是一个SMB共享,由blob存储支持(这意味着它是持久)。此外,由于它是SMB共享,您可以从各种工作者角色实例访问它。
至于您的替代选择(存储在Blob中并复制到临时存储) - 这将无法工作,因为每个工作者角色实例都是独立的,然后您就会在每个VM上拥有多个未同步的数据库副本。如果VM重新启动,您将立即丢失该临时驱动器上的所有数据。
注意:使用Web /辅助角色实例以及VM,您可以附加blob支持的磁盘并在那里持久存储内容。但是,您仍然遇到处理多个实例的问题(因为连接的磁盘无法连接到多个VM)。