在Heroku上使用多个应用程序的Django项目

时间:2014-11-17 21:59:39

标签: django heroku architecture

一个新手问题:

我已经能够很容易地在Heroku上部署一些简单的Django应用程序。

然而,现在我正在处理一个更大的项目,该项目包含一个Django项目下的几个应用程序(所有Django和所有限制访问),它们都将使用一个中心Heroku PostgreSQL数据库。当然,问题在于Heroku会将其部署为一个大型Heroku应用程序,从而阻止人们利用每个Django应用程序上下缩放dynos(一些应用程序将比其他应用程序使用更多)。

我花了几天时间研究这个,看起来我必须构建一个REST api来允许每个应用程序进行交互(他们需要),然后将它们作为单独的Heroku应用程序部署,即每个应用程序都是自己的Django项目。显然有相当多的开销和管理(管理多个设置等)来开发和维护这个api,但如果我需要扩展和缩小单个应用程序,我看不到另一种方式。

在我开始这个之前,我最感兴趣的是听到任何其他建议(记住我们真的很喜欢Heroku而且我们真的需要扩展个别动力学!)。在这个主题的网络上似乎没有太多的文档,但人们会认为这是一个相当普遍的情况。

1 个答案:

答案 0 :(得分:1)

扩展整个项目的缺点是什么?如果dyno服务于一个app或多个应用程序并不重要:它是整体请求的数量。在Django术语中,应用程序并不是一个独立的东西,它只是模型和视图的集合,尝试分离它们并没有多大意义。由REST连接的单独服务是一件非常棒的事情 - 我自己的项目通常都是这样 - 但它们并不是必需的,除非你需要,否则没有必要以这种方式重写你的代码。