asp.net - 负载平衡 ASP.NET 应用程序的最佳文件存储解决方案是什么?

标签 asp.net sql-server file infrastructure

我们有一个 ASP.NET 文件传输应用程序(内部用户上传,外部用户下载),我想知道分发文件的最佳方法是什么,这样我们就不会仅存储应用程序的单点故障一台服务器上的文件。我们将应用程序的负载分布在多个前端 Web 服务器上,这意味着对于文件存储,我们不能简单地将文件存储在 Web 服务器本地。

我们当前的设置使我们指向主数据库/文件服务器上的共享。一整天,我们都会将主服务器上的共享内容自动复制到故障转移服务器上。此场景确保我们拥有一台具有相当最新数据的辅助计算机,但我们希望能够从主计算机故障转移到故障转移并再次返回,而不会在前端应用程序中丢失数据或出现错误。目前这是一个相当手动的过程。

可能的解决方案包括:

  • Robocopy。很简单,但它不容易让您在没有多个作业始终运行(来回复制数据)的情况下进行故障转移和恢复
  • 将文件存储在 SQL Server 2005 中的 BLOB 中。我认为这可能是一个性能问题,尤其是对于大文件。
  • 使用FILESTREAM type in SQL Server 2008 。我们镜像我们的数据库,所以这看起来很有希望。有人对此有经验吗?
  • Microsoft's Distributed File System 。从我读到的内容来看,这似乎有点矫枉过正,因为我们只有 2 台服务器需要管理。

那么您通常如何解决这个问题?最好的解决方案是什么?

最佳答案

考虑像 AWS S3 这样的云解决方案。它按使用量付费,可扩展且具有高可用性。

关于asp.net - 负载平衡 ASP.NET 应用程序的最佳文件存储解决方案是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/463757/

相关文章:

sql - 在存储过程中更改数据库名称和跨数据库查询

c# - FullCalendar,如何允许用户编辑/删除事件并将其从数据库中删除?

c# - 在 asp.net web 服务器上安装字体

c# - 当我尝试在 asp.net 中更新我的 gridview 时出现异常

asp.net - 如果在 Application_Start 中抛出未处理的异常会发生什么?

php - SQL Server 的 ODBC 驱动程序 18]SSL 提供程序 : [error:1416F086]

c# - 如何在javascript中获取动态控件的id

c++ - 在 C++ 中将数据从文件加载到数据结构并进行解释

java - 使用 FileUtils.copyFile 复制文件

perl - Perl 中的 if( -f <filename> ) 有什么作用?