如何使用Heroku在同一个子域上托管多个node.js应用程序?

Teh*_*Nrd 9 heroku node.js

我们有一个基本域http://api.mysite.com.这应该是我们所有API的前门.假设我们使用以下url结构访问了两个不同的API:

http://api.mysite.com/launchrockets
http://api.mysite.com/planttrees

这些是完全不同的.关于在Heroku上运行它,似乎我们有两个选择.

1)将所有内容放在Heroku上的一个应用程序中.这感觉错了(非常错误)并且可能导致更改一个API的机会无意中打破了另一个.

2)有3种不同的Heroku应用程序.第一个作为proxy(http://mysite-api-proxy.herokuapp.com),它将查看传入的请求并重定向到http://planttrees.herokuapp.comhttp://launchrockets.herokuapp.com使用像bouncyhttp-proxy这样的模块.

我倾向于选项2,但我担心管理代理应用程序的负载.对于具有同步体系结构的Web框架,这种方法将是灾难性的.然而,如果node.js使用集群模块并且是异步的,我认为这可能会扩展正常.

我之前看过类似的问题,但大多数都与同步框架有关,其中选项2肯定是一个糟糕的选择.此问题特定于节点及其执行方式.

关于建立这个的最佳方法的想法?

Teh*_*Nrd 3

这是我写的一篇博客文章,试图回答这个问题。有很多选择,但您必须决定什么最适合您的应用程序和架构。

http://www.tehnrd.com/host-multiple-node-js-apps-on-the-same-subdomain-with-heroku/