为Web应用程序创建主从配置的最佳方法是什么?

时间:2009-07-27 18:04:31

标签: php master-slave

我正在为我的一些服务器(托管虚拟服务器)创建一个服务器管理界面,我想知道为所述接口实现主从配置的最佳方法。

主服务器应连接到所有从属服务器,以便检索信息(提供高级概述)并向其发送命令(保持管理集中)。但是,主服务器本身也可能有虚拟服务器,这就是我计划在所有物理节点上部署相同应用程序并确定该节点是主节点还是从节点的原因。

// Side注意:几乎看起来像是递归哈哈

我想到的一些想法:

  • 为主服务器和从服务器分离数据库模式,应用程序检查模式以确定服务器类型。
  • 服务器列表中的一个字段,用于将表中的服务器指定为主服务器或从服务器

2 个答案:

答案 0 :(得分:2)

虽然您可以推出自己的解决方案,但最好的选择是某种服务器自动化框架/应用程序,如Puppet或Chef。就个人而言,我更喜欢厨师,但两者都有很多支持。至少,您可以从中了解如何自己实现这一目标:)

我建议您查看每个网站的内容,而不是对他们的工作做出重大解释:

但是,以下是每个网站的介绍......


Chef是一个系统集成框架,旨在为整个基础架构带来配置管理的优势。有了Chef,你可以:

  • 通过编写代码而不是运行命令来管理服务器。 (通过食谱)
  • 与您的应用程序,数据库,LDAP目录等紧密集成。 (通过图书馆)
  • 轻松配置需要了解整个基础架构的应用程序(“运行我的应用程序的系统是什么?”“当前的主数据库服务器是什么?”)

Puppet是一种表达系统配置的声明性语言,用于分发系统配置的客户端和服务器,以及用于实现配置的库。

Puppet不是通过自动化当前技术来接近服务器管理,而是通过提供一种语言来表达服务器之间的关系,它们提供的服务以及组成这些服务的原始对象,从而重新解决问题。 Puppet用户可以使用他们习惯处理的抽象(如服务和节点)来简单地表达他们所需的配置,Puppet负责实现配置,而不是处理如何实现某个配置或提供给定服务的细节。或者为用户提供足够的信息来解决任何遇到的问题。

答案 1 :(得分:0)

我想出了一个解决我问题的简单方法。我刚刚添加了一个SLAVE文件到奴隶的安装,程序检查该文件是否存在。如果是的话,它将服务器指定为奴隶.....完全过度思考...