如何与多台服务器同步?

如何与多台服务器同步?

我们有 3 个带有负载均衡器的 Web 服务器。例如 192.168.1.1、192.168.1.2、192.168.1.3。现在,如果我在 192.168.1.1 中上传文件或目录,它应该反映在其他 Web 服务器上。同样,如果我在 192.168.1.2 或 192.168.1.3 中上传文件或目录,它应该自动反映在其他两台服务器中。我该怎么做?

我读过一些网站,他们说 rsync 会帮助你,但是当我搜索关于 rsync 时,它使用主服务器并使用客户端服务器概念。这意味着我可以随时在任何一个服务器中上传文件或目录,然后执行 rsync。

有没有什么方法可以轻松解决这个问题?

答案1

就像是集群文件系统将是解决您的问题的理想解决方案(假设您运行的是 Linux)。

答案2

您的选择通常为:

  • 提供文件共享并将其安装到每个 Web 服务器上并将文件存储在那里。

  • 不要将文件存储在文件系统上,而是使用(高可用性)数据库并将它们存储为 BLOB。这是一种非常常见的方法。通常,您的应用程序已经使用了数据库,这使得应用程序服务器几乎无状态,通过将许多锁定、复制、HA、一致性和访问问题转移到数据库层来解决这些问题,其中许多问题都是旧闻,很容易理解和解决。但是,一旦达到(相当一部分)PB 范围,维护成本就会很高。

  • 一个合适的集群文件系统,允许通过光纤通道或 iSCSI 对共享存储进行并发读写块级访问。企业存储阵列往往非常昂贵,但可以很好地扩展。集群文件系统通常需要为每个节点的集群 FS 软件购买(昂贵的)许可。这也是企业环境中针对专业应用程序的相当常见的解决方案。

  • 使用分布式对象存储。这是更开源的解决方案,使用低端商用硬件,在软件中实现冗余和可扩展性。这是一种常见的“云”方法,其中对象存储通常是 Aamzon S3 等在线服务,而不是自行构建。

相关内容