从单个生产服务器转移到2个Django物理服务器(前端和后端)?

时间:2010-08-04 16:41:45

标签: django

我目前有一个不断增长的Django生产服务器,它上面运行着所有的前端和后端服务。我可以继续增长该服务器越来越大,但我想尝试将主服务器作为我的后端服务器,并创建多个前端服务器,运行apache / nginx并远程连接到主生产后端服务器。

我现在正在使用slicehost,所以我认为我不能从内部网上运行多个服务器中受益。我该怎么做?

2 个答案:

答案 0 :(得分:1)

扩展服务器的第一步通常是分离数据库服务器。我假设这只是“后端服务”的意思,除非你给我们更多细节。

所有这些需求都是对您的设置文件的更改。将DATABASE_HOST从localhost更改为数据库服务器的新IP。

如果您的网站对静态内容很重视,那么创建单独的媒体服务器可能会有所帮助。您甚至可以查看CDN

答案 1 :(得分:1)

第一步通常是将运行实际Python代码的服务器与数据库服务器分开。任何进行处理的后台作业都可能在数据库服务器上运行。我假设当你说前端服务器时,你实际上是指运行Python代码的服务器。

现在,由于每个请求都必须执行大量数据库查询,因此Web服务器和数据库服务器之间的延迟非常重要。我不知道Slicehost是否有一些功能允许您创建两个在网络延迟方面“接近”的虚拟机(快速谷歌搜索没有找到任何东西)。他们看起来很好,所以也许你可以问他们是否有这样的服务或者可以例外。

无论如何,当你在Slicehost上有两台机器时,你可以通过简单地在它们之间进行ping操作来检查它们之间的延迟。当你得到结果时,你可能会知道这是否可行。

进一步的步骤取决于您的申请。如果媒体很重,那么可能使用单独的媒体服务器是有意义的。否则,正常步骤是添加更多Web服务器。

-

作为旁注,我个人认为投资具有专用网络设备的真实专用服务器进行此类设置更有意义。这当然取决于您的预算。

我还建议您查看Amazon EC2,您可以在其中配置彼此神奇地相近的服务器。