如何使用负载平衡同步 2 个 Web 服务器文件?

如何使用负载平衡同步 2 个 Web 服务器文件?

我需要建立一个具有负载平衡功能的网站来容纳更多的访问者,

我在论坛上看到 varnish(balance)->apache(web1&2)->mysql(dbserver) 是可行的方法。

我知道如何设置 varnish->single webserver->mysql 但不知道如何设置两个 web 服务器来平衡,

但是我如何才能实时同步两个 Web 服务器的内容?我的自定义应用程序允许访问者发布文件。

请告诉我该如何配置它?

我的设置。

        (internet)
             |
  (load balance server)
            / \ 
           /   \
 (webserver1) (webserver2)
          \     /
     (database server)

谢谢。

答案1

我建议你看看csync2用于保持 Web 服务器同步。它专为保持群集主机同步而设计,您可以将其配置为自动处理冲突。

Csync2 是为同步配置文件而开发的,但我认为没有理由不能使用它来同步上传的数据。

您可以按照 KM 的建议创建一个网络共享(例如 NFS 共享),并将所有上传内容发布到那里,但您需要确保 NFS 服务器具有足够的冗余度,以便在出现问题时不会关闭两个 Web 服务器。

答案2

如果你真的需要即时的复制所有上传的文件,您需要一个像 GlusterFS 这样的分布式文件系统或使用 DRBD/ocfs2 设置。

否则,我会使用 csync2 或简单的 rsync 脚本。

答案3

使用 Varnsih 进行负载平衡或者HAProxy。为了同步上传的文件,请考虑在两台主机上创建一个网络共享,以便用户可以上传文件。

相关内容