我们的asp.net应用程序框架的文件系统部分需要更新以符合我们的SaaS /多租户方法,特别是在扩展方面。
我们当前的文件系统将磁盘上的文件存储在每个租户的单独文件夹中。
即:X:\ FilesFolder \ ApplicationInstance \ TenantA等,其中租户名称和文件名是Guids。我们有一个HttpHandler,它检索文件并解析所有路径和名称,并返回原始文件名等。我们存储每个租户的根路径,即:X:\ FilesFolder \ ApplicationInstance \,我们可以在某些时候移动它们如果需要,可以到不同的地方。
关于扩展这个系统的问题,我有一些问题......(请原谅我对硬件/ Windows基础设施方面的无知,我的问题更多是关于实现我们的文件系统代码的更新)
1)很明显文件应该全部存储在NAS设备上?
2)如果我们添加NAS设备并构建服务器场,我们是否需要开始运行域控制器?这个效果如何引用路径?
修改 发现服务器场不需要域,这很好,但仍不确定这会如何影响可用路径等
3)我们应该使用驱动器号路径(映射驱动器)还是UNC路径?
4)引用UNC而不是命名驱动器号(甚至在同一台机器上)是否有任何性能损失
5)我们可以期待什么权限问题以及这种效果如何在域上运行?
修改 拥有一个域会让权限更容易,但仍然不知道差异是什么。
对此方法,最佳做法或更好的方法的任何评论都表示赞赏。
由于
答案 0 :(得分:2)
您应该做的是抽象您的存储代码,以便路径只是一个实现细节。这样,您可以完全更改路径体系结构,这可能是存储技术所需要的。