node.js - Heroku 应用程序的服务器(故障转移)冗余解决方案

标签 node.js heroku failover redundancy

我目前在 Heroku 上运行的免费 Web Dyno 上部署了一个 Node.js 应用程序。在计划投入生产时,我需要考虑以合理的成本提供冗余和故障转移解决方案。

当我在 Heroku 仪表板上运行“生产检查”时,它给了我一份生产所需要做的事情 list 。其中之一是“Dyno 冗余”,我应该至少运行 2 个 Web dyno 来进行故障转移。这是否意味着我应该将我的 Free Dyno 升级到 Hobby 或 Standart 1X,以及我是否还需要拥有两个相同类型的 dyno,例如两个爱好测功机还是两个标准 1X 测功机?

Heroku 如何处理从一台 Dyno 到另一台 Dyno 的故障转移?

谢谢!

最佳答案

Heroku 在所有可用的测功机之间共享流量,使用 random assignment algorithm 分配请求。因此,您的所有测功机将始终为传入流量提供服务。

这提供了冗余,而不是故障转移。如果一个测功机因非常慢的请求而窒息,则该应用程序仍可通过其他测功机使用。

故障转移是不同的。在应用程序出现故障(例如,数据库无法访问)的情况下,Heroku 的路由器提供的帮助很少。要处理更多工业工作负载,您可以使用 Amazon Route 53's DNS-level failover ,它对后端运行健康检查,并在 Heroku 崩溃时重新路由域名。

但是,对于许多用例来说,只需提供一个友好的、自定义的 HTTP 503 错误页面(您可以在 Heroku 中配置)就足够了,以便在中断期间让用户满意。

关于node.js - Heroku 应用程序的服务器(故障转移)冗余解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39652322/

相关文章:

Sequelize 的 Mysql 连接超时

javascript - 在 Node.js Mongoose 中,我想更新每个字段……我该怎么做?

python - 如何使用 Django 自动将 heroku 应用程序 URL 重定向到我的自定义域?

ruby-on-rails - 您可以使用 Rails 和 Heroku 直接在服务器上编辑文本吗?

java - 从 txt 文件发送电子邮件的 JBoss 集群服务

javascript - 使用 child_process 时,如何跟踪生成创建的任何额外进程

javascript - 如何在 graphql 解析器中实现守卫

ruby-on-rails - rails : test mailgun on localhost

windows - 使用 ietd 从 iSCSI 目标启动的 Windows 的故障转移

activemq master 不会放弃网络故障