数据库是否附加到heroku中的dynos?

时间:2012-09-23 07:51:43

标签: node.js heroku redis

我想尝试heroku,但我不确定我是否正确理解所有术语。

我有一个带有node.js和redis&的应用程序我主要关注的是缩放和速度。

在传统环境中,我会在负载均衡器前面有两台服务器;两个服务器完全独立,共享相同的代码并拥有自己的redis实例。两个服务器彼此不知道(数据由第三方服务器同步,但对于那种情况不感兴趣)。

然后我会在他们面前推一个负载平衡器。知道我可以轻松扩展,因为两个实例都没有相互了解,如果我愿意,我可以添加更多实例。

我可以在dyno中镜像该环境,还是不能将redis实例附加到dyno?

如果有什么不清楚的地方,请问,因为我是paas的新手!

据我所知:我的节点应用程序会有一个dyno,只会添加另一个实例。这很酷,但他们会分享相同的redis还是我可以让它们独立?

2 个答案:

答案 0 :(得分:4)

你最好忘记传统的架构并尝试这样思考:

  • dyno是处理HTTP请求的进程,是heroku上应用程序实例的绝对最小值。
  • 对于一个应用程序实例,您可以拥有所需数量的dynos 它是完全透明的。无需考虑服务器,负载 平衡等......一切都得到了照顾。
  • redis实例基本上是应用程序使用的服务 实例,因此由一个或多个dynos。再次,服务器,加载 平衡等都得到了照顾。

也许您想再次查看Heroku.com上的工作原理。

答案 1 :(得分:1)

您可以根据需要为一个URL设置尽可能多的dynos - 您只需更改控制器中的值即可。这实际上是Heroku的最佳功能之一 - 你不关心服务器,你增加了dynos的数量,并由此增加了可以同时处理的请求数量。

与redis相同 - 它基本上不起作用,你添加实例,你只需切换到更高性能的计划,请参阅https://addons.heroku.com/redistogo。再次,忘记服务器。