我们有一种情况,允许用户上传内容,然后单独进行一些更改,然后根据这些更改提交表单。
这在单服务器、非故障转移环境中运行良好,但是我们需要某种解决方案来在支持故障转移的服务器之间共享文件。
过去有没有人遇到过这种情况?您能够开发出什么样的解决方案?显然,持久化到数据库是一种选择,但我们更愿意避免这种情况。
我们有一种情况,允许用户上传内容,然后单独进行一些更改,然后根据这些更改提交表单。
这在单服务器、非故障转移环境中运行良好,但是我们需要某种解决方案来在支持故障转移的服务器之间共享文件。
过去有没有人遇到过这种情况?您能够开发出什么样的解决方案?显然,持久化到数据库是一种选择,但我们更愿意避免这种情况。
在我们的场景中,我们有一个单独的文件服务器,我们的两个前端应用程序服务器都写入该文件服务器,这样您的任一服务器都可以访问相同的文件集。
在以前的工作中,我们有一个 Web 服务器集群,前面有一个 F5 负载均衡器。我们有一个非常相似的问题,因为我们的应用程序允许用户上传可能包括照片等的内容。这些是遗留应用程序,我们不想编辑它们以使用数据库,而且 SAN 解决方案对于我们的情况来说太昂贵了。
我们最终在两台集群服务器上使用了文件复制服务。这在两台机器上作为服务运行,使用的帐户可以通过网络访问对面服务器上的路径。上传文件后,此后端服务会同步文件系统文件夹中的数据,使其可从任一 Web 服务器提供服务。
我们审查的两个产品是ViceVersa和PeerSync。我想我们最终使用了 PeerSync。
最好的解决方案通常是在某种形式的 SAN 上提供共享区域,所有服务器都可以访问该共享区域并包含故障转移。
这还有一个好处是您不必提供粘性负载平衡,上传可以由一台服务器处理,而编辑可以由另一台服务器处理。
具有故障转移功能的共享 SAN 是一种很好的解决方案,但成本很高(高)。是否有任何以合理成本进行故障转移的类似解决方案?也许像 Windows 的 DRBD 之类的东西?
简单共享文件系统的问题是缺乏冗余(如果文件服务器出现故障怎么办)?