2010-10-26 7 views
0

Je pense qu'il existe un large consentement qui est une bonne pratique pour séparer votre API REST de votre site Web principal. La raison principale est que vous pouvez adapter votre API et votre site Web indépendamment les uns des autres.Mettre l'API sous son propre domaine

De plus, Rails a beaucoup de middleware qui n'est pas requis pour les services sans état (par exemple, sessions, cookies, rendu de vue, etc ...). Jeff Dean a un bon article sur la façon de supprimer tout ce middleware (http://pivotallabs.com/users/jdean/blog/articles/1419-building-a-fast-lightweight-rest-service-with-rails-3-).

Pour le moment, j'utilise simplement le nouveau répondeur Rails 3 (respond_with) dans une seule application, à la fois pour le site Web et l'API. Le site Web est principalement utilisé à des fins administratives.

Comment sépareriez-vous l'API du site Web?

Je pense qu'une option serait d'emballer tous les modèles dans une gemme, puis avoir deux applications différentes, un service léger REST, et le site Web d'administration. Ils seraient hébergés sur différentes instances de Heroku, mais accéderaient à la même base de données MongoHQ.

Répondre

0

Vous avez 2 choix

  1. extrait de votre modèle ans utilisent dans tous vos 2 application
  2. fait vous API et votre application sur la même application. Mais vous déployez 2 serveurs. Un utilisant uniquement votre application par et autre avec votre partie API. Donc, si vous avez besoin de plus d'API. ajouter plus sur votre serveur API.

Vous n'avez pas vraiment besoin d'extraire l'API. Vous avez juste besoin de le séparer.