MySQL和Apache集群

首先抱歉如果我写得不好,我的英文不好。

那么我有这些服务器:

在这里输入图像说明

服务器号码1有太多的工作,所以我想build立一个连接4个虚拟机的集群系统。

我不知道如何开始,在这一刻,我已经得到了服务器3,4,5和6只有操作系统。

我可以使用哪种集群软件?

我可以在虚拟机上正常安装apache和mysql吗? 或者我必须安装这些软件的特定版本?

我会build议像Percona XtraDB Cluster for MySQL一样简单。 这是一个MySQL的优化版本,仍然是免费的,集中考虑。

对于Apache,我只是rsync的httpd.conf或任何configuration文件是活动的备用主机。

你是否想要达到负载均衡效果或主动/被动待机?

所以基本上你需要使用一些工具来缓解你的设置为Apache你可以看看和平机或心跳哈,对于MySQL我不是一个专家,但我认为这可以做和平缔造者或通过MySQL自己,有看这里: http : //www.mysql.com/products/cluster/

祝你好运

我想你需要问自己几个问题,以确定你需要或准备的设置。 有很多可能的configuration将取决于您的应用和要求:

  • 你想要一个负载平衡的系统,一个高可用性(HA)系统,还是两者兼而有之? 从你的问题我猜你正在寻找只是负载平衡,以减less服务器1的负载,并分发给服务器3-6。 一个简单的负载平衡系统比HA更易于安装。
  • 服务器1上当前的负载分布是什么? 你是CPU限制,磁盘IO限制,内存有限,别的? 例如,如果您在服务器1上configuration的Apache / MySQL性能较差,那么configuration4个错误的服务器将无济于事。 如果你是IO限制,那么把一台服务器分成4个虚拟机也许帮不上什么忙。
  • 是Apache,MySQL还是两者都占用大部分资源? 如果MySQL占用90%,那么负载均衡Apache可能不值得(或者相反)。
  • 你的应用程序是否容易负载均衡 如果不是这可能会限制你可以轻松做的事情。
  • 你有任何caching层,或者你可以添加任何? 这包括像Squid,MemCached,Varnish等….根据你的应用程序,你可能会得到一个巨大的负载减less在Apache / MySQL方面(例如,在我的情况下,80-90%的网页浏览量鱿鱼caching是一个潜在的5-10倍减less负载)。

不知道更多关于你的具体情况,我会build议像这样:

  • 服务器3:Squid / Varnishcaching和主入口点(假设您的应用程序可以caching)
  • 服务器1:MySQL主(所有数据库写入)
  • 服务器5:MySQL从属(所有数据库读取)
  • 服务器6:Apache
  • 服务器4:Apache

起搏器为聚类数据库

Keepalive或nginx(代理)负载均衡apache与types共享/故障转移