在我的公司需要集群服务器设置(就是它所谓的?)。 我们有我们的主机在国外租用,因此有实际的硬件访问有限,但我们有完全的自由,不受金融资源的限制(当然,如果我们避免了过度消耗 – 如果3能处理的话,不需要300台服务器) 。
我们是一家提供免费在线可读书籍的国际在线发行商。 这意味着我们有大量的静态内容 – 主要是许多GB的闪存文件。 我们最近去升级服务器操作系统到CentOS x64,并将服务器软件从Apache改为Nginx(用于静态内容)+ Apache。 然而,也出现了一些问题,我们遇到了一些意想不到的停机时间,即使只有几个小时,也给我们造成了严重的损失。
我对集群设置的想法如下:
– 服务器1:我们目前的MySQL数据库。
– 服务器2,服务器3,服务器4:我们的应用程序,也就是我们在Apache上的PHP代码
– 服务器4:仅支持静态内容(5kb至3mb的图像,5MB至100MB的PDF,200kb至20MB的Flash文件等)
我相信,如果三台应用服务器中的一台发生故障,这个设置将帮助我们避免宕机,除了在三台服务器之间共享负载,而不是像现在一切(静态+数据库+应用程序)在一台机器上那样。
我想从你的退伍军人是一些有用的链接关于服务器负载分享,提示和技巧关于这个问题和我上面提出的build议..我作为一个PHP开发人员有限的经验,并没有太多,所以如果任何人可以提供任何宝贵的洞察到他们的设置或不同的硬件/软件的经验,我将非常感谢。
另外,什么是正确的术语? 云? 簇? 我应该知道的任何其他条款。 请温柔一点,我只是开始踏入服务器世界。
谢谢
编辑:新的计划如下,请让我知道你的想法:
应用程序集群
数据库集群
静态集群
这是现实吗? 如果有的话,你会build议什么? 你会添加什么?
几年来我学到的一些一般的东西:
我认为这个普通的东西很好。 为了决定你要做什么,你需要坐下来思考几件事情:
第一个问题告诉你每个级别需要的最less服务器数量,以便拥有一个正在运行的站点。
第二个问题告诉你,为了确保你的网站继续运行,你真正想要的硬件有多less。 当你布置失败模式时,你会发现你需要考虑的不仅仅是服务器:防火墙,上游的互联网连接,发电机,物理位置等等。 您还需要解决一些问题,例如让pipe理员随时待命处理在凌晨3点发生的服务器崩溃以及需要监视唤醒pipe理员并让他们知道事情已经崩溃的情况。 如果之前的失败是由于configuration或编程错误引起的,那么可以考虑在开发和生产之间build立一个分级环境,以便在程序员完成其更改之后以及更改生效之前进行testing。