我们正在构建一个将存储大量图像的应用程序。我们在GoGrid.com有一个虚拟化环境,我们希望利用他们的云存储。
不知道该如何表达,但如果我们(在代码中)指定unc路径和凭证来放置或检索图像,这似乎非常低效(connect,get image,disconnect)
如果我们有大量的图像或许多用户同时执行此操作,这似乎会使任何正常的服务器瘫痪。
所以我的问题是,如果你的网站没有巨大的驱动器来运行,我们应该如何实现这一目标?再一次,我们选择了GoGrid cloud starge与亚马逊S3,因为一切都在一个很好的保护伞下。云存储可通过UNC路径和特定用户名/密码访问。
谢谢!
发布于 2011-08-08 12:33:57
C#可以使用unc路径,就像本地路径一样,使用本地操作系统文件i/o。通常,你不需要“连接/检索/断开”,而是一旦建立,到远程服务器的连接就会被保持,就像你映射了一个驱动器一样。仅仅因为你没有它的驱动器号,并不意味着没有连接。
或者(对go grid一无所知),您可以只映射一个驱动器,或者使用Windows中的脱机文件功能将最常访问的文件保存在本地缓存中。
发布于 2009-05-21 01:39:28
如果您认为您可能会随着时间的推移而改变文件访问方法,那么一定要让它保持抽象。从一个简单的UNC实现开始,但随后您将能够更改为web服务或REST实现。
发布于 2009-05-21 01:48:05
我以前没有使用过大容量访问服务器,但在我看来,您正在寻找访问UNC路径的非常轻量级的东西。Facebook有一个基于轻量级HTTP实现和刀片服务器的体系结构,用于使用单个10TB文件系统进行负载平衡,但您听起来还不是很成熟。如果您想最大化从连接中获得的内容,请尝试以连接/读取/断开连接的顺序提取多个文件。需要注意的是,这会让你的用户等待更长一段时间,对于google来说,慢20ms会导致用户减少20%左右。除此之外,我不知道有什么比简单地访问路径更快的方法了。
https://stackoverflow.com/questions/890977
复制相似问题