我们有一种情况,允许用户上传内容,然后单独进行一些更改,然后根据这些更改提交表单。

这在单服务器、非故障转移环境中工作得很好,但是我们需要某种解决方案来在支持故障转移的服务器之间共享文件。

过去有人遇到过这个吗?您能够开发出什么样的解决方案?显然,持久化到数据库是一种选择,但我们宁愿避免这种情况。

有帮助吗?

解决方案

在之前的工作中,我们有一个 Web 服务器集群,前面有一个 F5 负载均衡器。我们有一个非常相似的问题,我们的应用程序允许用户上传可能包括照片等的内容。这些是遗留应用程序,我们不想编辑它们以使用数据库,而且 SAN 解决方案对于我们的情况来说太昂贵了。

我们最终在两台集群服务器上使用了文件复制服务。它作为服务在两台计算机上运行,​​使用的帐户可以通过网络访问对方服务器上的路径。上传文件后,该后端服务会同步文件系统文件夹中的数据,使其可以从任一 Web 服务器提供服务。

我们审查的两种产品是 反之亦然对等同步. 。我认为我们最终使用了 PeerSync。


其他提示

在我们的场景中,我们有一个单独的文件服务器,两个前端应用程序服务器都写入该文件服务器,这样您的任一服务器都可以访问相同的文件集。

对此的最佳解决方案通常是在某种形式的 SAN 上提供共享区域,所有服务器都可以访问该共享区域并包含故障转移。

这还有一个好处是您不必提供粘性负载平衡,上传可以由一台服务器处理,编辑可以由另一台服务器处理。

具有故障转移功能的共享 SAN 是一个很好的解决方案,但成本很高。是否有任何类似的以合理成本进行故障转移的解决方案?也许像 Windows 的 DRBD 之类的东西?

简单共享文件系统的问题是缺乏冗余(如果文件服务器出现故障怎么办)?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top