我是新开发的web开发和服务器。 我正在寻找一些build议或链接到build立一个生产系统的教程。 现在,我有一个服务器(Ubuntu,Apache,MongoDB和PHP)。 它收到一个请求,PHP查询Mongo,PHP发出请求的数据。 我如何使用更多的服务器工作? 我读过,你可以做一个主要和两个奴隶节点作为单独的服务器运行Mongo的集群,但那些也运行PHP? 还是主要运行PHP的唯一一个? 我已经阅读了一些关于Mongo网站的文档和一个10gen的人的video,但是他们面向那些似乎已经了解这个东西的人,我不知道需要从一个开始的阶段开始。
如果任何人都可以帮助我理解PHP(代理为我的API)在这些集群中的位置,那将不胜感激! 提前感谢任何帮助!
当您向外扩展时,通常会分解您的组件。 你最终会得到这样的结果(这些不是标准名称,也不需要这样做,但是这很常见):
每个需要多less个将取决于您的应用程序需求。 在MongoDB方面,对于生产,您至less需要运行一个副本集 。 这将构成一个主要的,一个次要的和一个仲裁者(参见文档,但是作为一个快速指南,主要和次要应该是相同的并且通常是专用主机,仲裁者没有数据并且是轻量级的,可以运行在共享主机上)。
应用程序服务器将接收来自客户端的请求,不pipe他们是人还是其他一些调用应用程序的应用 应用程序将使用PHP驱动程序与通过networking设置的MongoDB副本进行通信(而不是本地,这可能是您迄今为止所做的)。
最终,如果你继续增长,你可能需要扩展到MongoDB的分片设置。 从PHP的angular度来看,唯一的区别是你和mongos进程交谈,而不是直接交给副本集。 在这种情况下,这听起来像是在路上,所以要注意,但不是在不久的将来就没有必要。