问题描述
我使用 Heroku 作为我的 Django 应用程序的平台,目前在一个免费的 dyno 上。我已经创建了我的应用程序的副本,以便将暂存和生产应用程序分开。现在在应用程序启动之前,我愿意为我的生产应用程序在 Heroku 上升级到 Standart2X dyno 层,以便使用多个进程处理后台任务。
事情是我的应用程序真的依赖于后台任务(缓慢且大量的 API 调用),所以我希望能够在推送到生产环境之前测试 多个进程在暂存环境中的工作。
我不明白的是,我是否必须在登台和生产环境中升级我的 dynos?也许我可以在 staging 中使用 hobby tier dynos(它也允许在 procfile 中定义多个进程类型),因为它们比标准 dynos 便宜,但这感觉是错误的,因为应用程序源对于 staging 和生产来说是不同的。也许我在这里遗漏了一些东西,或者我对这些概念的理解不够。
我对舞台制作概念有点陌生,所以我感谢所有有用的链接和建议。
解决方法
在理想情况下,临时服务器与生产服务器完全相同,即使数据相同,因此每个新版本都可以在与真实用户访问的环境没有区别的环境中进行验证。
说到做到(几乎)永远不会发生,仅仅是因为它需要更高的成本(与生产规格相同的暂存服务器)和维护(数据复制等)
某些系统和应用程序需要最高的质量和安全性(即医疗保健、安全等方面的关键系统),因此他们确实投资于此类架构。
在您的情况下,我建议使用较小的暂存环境(免费或业余爱好者),这足以在发布前验证新功能。