将API置于其自己的域下

时间:2010-10-26 11:09:55

标签: ruby-on-rails ruby-on-rails-3

我认为将REST API与主网站分开是一种很好的做法。主要原因是您可以相互独立地扩展您的API和网站。

此外,Rails有许多中间件,无状态服务不需要(例如会话,cookie,视图呈现等)。 Jeff Dean对如何删除所有这些中间件(http://pivotallabs.com/users/jdean/blog/articles/1419-building-a-fast-lightweight-rest-service-with-rails-3-)进行了很好的阐述。

目前,我只是在一个应用程序中使用新的Rails 3响应程序(respond_with),包括网站和API。该网站主要用于管理目的。

您如何将API与网站分开?

我认为一个选项是将所有模型打包在gem中,然后有两个不同的应用程序,一个轻量级REST服务和管理网站。它们将托管在不同的Heroku实例上,但访问相同的MongoHQ数据库。

1 个答案:

答案 0 :(得分:0)

你有两个选择

  1. 提取您的模型并在所有2个应用程序中使用它
  2. 在相同的应用程序上为您和您的应用程序制作了API。但是你部署了2台服务器。一个仅使用您的应用程序par和其他API部分。所以如果你需要更多的API。在您的API服务器上添加更多内容。
  3. 你真的不需要提取API。你只需要将它分开。