我需要建立一个具有负载平衡功能的网站来容纳更多的访问者,
我在论坛上看到 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。为了同步上传的文件,请考虑在两台主机上创建一个网络共享,以便用户可以上传文件。