【发布时间】:2014-04-19 04:37:18
【问题描述】:
我们的基本域为http://api.mysite.com。这应该作为我们所有 API 的前门。假设我们有两个使用以下 url 结构访问的不同 API:
http://api.mysite.com/launchrocketshttp://api.mysite.com/planttrees
这些是完全不同的。关于在 Heroku 上运行它,我们似乎有两个选择。
1) 将所有内容放在 Heroku 上的一个应用程序中。这感觉是错误的(非常错误),并且可能导致一个 API 的更改无意中破坏另一个 API。
2) 拥有 3 个不同的 Heroku 应用。第一个作为代理 (http://mysite-api-proxy.herokuapp.com) 将查看传入请求并使用 bouncy 或 http-proxy 之类的模块重定向到 http://planttrees.herokuapp.com 或 http://launchrockets.herokuapp.com。
我倾向于选项 2,但我担心管理代理应用程序的负载。对于具有同步架构的 Web 框架,这种方法将是灾难性的。然而,对于使用 cluster module 的 node.js 并且是异步的,我认为这可以扩展。
我之前看到过类似的问题,但大多数与同步框架有关,其中选项 2 肯定是一个糟糕的选择。这个问题特定于节点以及它的执行方式。
关于构建这个的最佳方式的想法?
【问题讨论】: