Heroku应用的服务器(故障转移)冗余解决方案



我目前有一个node.js应用程序部署在一个免费的web Dyno运行在Heroku上。在计划将其用于生产时,我需要以合理的成本考虑冗余和故障转移解决方案。

当我在Heroku仪表板上运行"生产检查"时,它给了我一个使其生产的事情列表。其中一件事是"动态服务器冗余",我应该至少有2个web动态服务器运行故障转移。这是否意味着我应该将我的免费Dyno升级到Hobby或Standard 1X,并且我还应该有两个相同类型的Dyno,例如两个Hobby dynos或两个Standard 1X dynos?

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

谢谢!

Heroku在所有可用的dynos之间共享流量,使用随机分配算法分发请求。因此,您所有的动态服务器将始终为传入流量提供服务。

这提供了冗余,而不是故障转移。如果一个动态服务器阻塞了一个非常慢的请求,该应用程序仍然可以通过其他动态服务器使用。

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

然而,对于许多用例来说,可能仅仅提供一个友好的、定制的HTTP 503错误页面就足够了,您可以在Heroku中配置它,以便在中断期间让用户满意。

最新更新