sbr*_*tla 6 cluster scaling web-server load-balancing drupal
我正在尝试概述我将如何创建负载平衡的 Web 服务器设置。设置实际的负载平衡器并添加两个或更多 Web 服务器似乎很公平。但是,我无法决定文件的最佳设置是什么。
Web 服务器将运行 CMS 系统(在本例中为 Drupal)。可能有用户上传的与内容相关的文件,所有网络服务器都应该可以访问这些文件。现在,我想简单地拥有一个指定的文件服务器并在每个 Web 服务器上安装一个文件目录,以便各种 Web 服务器可以访问这些“共享”文件。
但是,如果我们谈论的是 4-5 个服务器,这个解决方案会成为瓶颈吗?我认为安装将通过 SSH 完成。
高度赞赏所有帮助!
更新(2013 年 1 月 15 日)
我决定结合使用 Csync2 和 Lsyncd。然后我设置了两个充当镜像的服务器。Lsyncd 侦听某些目录(及其子目录)中的更改并调用负责将文件同步到其他服务器的 Csync2。如果您有兴趣了解更多信息,请查看本教程。
John 和 Cailin关于扩展 Drupal的五步教程将对您非常有帮助。
前两个步骤如下:
第 1 步:将 Web 服务器与数据库服务器分开。
第 2 步:设置冗余 Web 服务器和负载平衡。
底线:如果不先垂直扩展(将当前驻留在同一服务器上的功能分成不同的层),您就不会想要水平扩展(添加多个具有相同功能的服务器)。
小智 7
在我搬到 CDN 之前,我有一个大约有 20 台服务器的网络农场。我从 NFS 开始,直到大约 3 年前我在 linux 内核中遇到一个错误,该错误导致了未安装卷的问题,并且它没有正确地进行故障转移。
然后我创建了一个 rsync 脚本,它将每 5 分钟将目录同步到每个图像服务器。这并不理想,但它有效,我没有任何问题。
下一步我切换到 lsyncd,它使用 inotify 来监视目录,当文件更改时,它会生成一个进程来同步该文件。默认情况下,这是 rsync。该解决方案是可靠的,如果不是因为 CDN 的经济性,我会继续这样做。
Lsyncd:http : //code.google.com/p/lsyncd/
希望有帮助。
小智 5
我使用 glusterfs ( http://www.gluster.org/ ) 在负载平衡的 Web 服务器之间共享文件。我还尝试使用 glusterfs 在服务器之间共享 MySQL 数据库文件,但没有成功 - 我建议将网络与数据库服务器分开,如第一个海报所建议的那样。
在服务器之间共享文件的其他解决方案是lustre(http://wiki.lustre.org/index.php/Main_Page),并且根据负载均衡器设置,您还可以使用lsyncd(http://code.google.com) /p/lsyncd/ ) 在服务器之间同步文件。
归档时间: |
|
查看次数: |
6621 次 |
最近记录: |