C# 在服务器上均匀上传文件
用户将上传文件到我的网站,我需要将它们均匀地分布在多个服务器上,我还需要在数据库中有一列,说明特定文件上传到哪个服务器 这是我的设计C# 在服务器上均匀上传文件,c#,asp.net,mysql,file-upload,distributed,C#,Asp.net,Mysql,File Upload,Distributed,用户将上传文件到我的网站,我需要将它们均匀地分布在多个服务器上,我还需要在数据库中有一列,说明特定文件上传到哪个服务器 这是我的设计 具有服务器名称的枚举,即server1、server2、server3 从数据库中获取上次上载的服务器名称 如果最后上载的服务器是server1,则当前文件应上载到server2并更新DB, 如果上次上载的服务器是server3\,则当前文件应上载到server1并更新数据库 应用程序和数据库目前托管在单个服务器上,但将来我们将转向负载平衡 让我知道除此之外是否还
让我知道除此之外是否还有其他最佳方法。您的解决方案是否有效取决于您的客户如何使用它。我会给你一个快速的细目,看看我以前是怎么做的
- 循环DNS(为同一域分配多个IP地址)
- 基于DNS循环获得流量的多个web服务器
- 然后,每个web服务器都有自己的专用SQL server李>
- SQL Server使用复制来保持数据同步
- 用于文件上载的单个存储服务器。(除非文件上传是主要功能,否则我怀疑您是否需要>1)
这并没有提供任何真正的冗余。而且可以说,由于分层方法,情况变得更糟。这可以通过一些托管DNS解决,但这仍然不是一个完美的方法,我知道一些系统管理员一想到托管DNS就会畏缩。您的解决方案应该根据您的客户如何使用它来工作。我会给你一个快速的细目,看看我以前是怎么做的
- 循环DNS(为同一域分配多个IP地址)
- 基于DNS循环获得流量的多个web服务器
- 然后,每个web服务器都有自己的专用SQL server李>
- SQL Server使用复制来保持数据同步
- 用于文件上载的单个存储服务器。(除非文件上传是主要功能,否则我怀疑您是否需要>1)
这并没有提供任何真正的冗余。而且可以说,由于分层方法,情况变得更糟。这可以通过一些托管DNS解决,但这仍然不是一个完美的方法,我知道一些系统管理员一想到托管DNS就会畏缩。我认为最好弄清楚如何执行负载平衡。您提议的方法只会给您留下一个选择:路由到服务器的静态DNS值。如果您想要真正的故障转移负载平衡场景,这并不理想。我认为最好弄清楚如何执行负载平衡。您提议的方法只会给您留下一个选择:路由到服务器的静态DNS值。如果您想要真正的故障转移负载平衡场景,这并不理想。