Rails 请帮忙分析下架构问题。

u1360749170 · 2013年11月08日 · 最后由 chitsaou 回复于 2013年11月09日 · 2489 次阅读

由于 Rails 的一些性能问题,现在似乎流行 Ruby Off Rails。 最近准备开始一个新项目,要求具备后期的扩展性,我有意尝试下不同的架构。

以下是初步的计划:

  1. 服务端用 Grape 写 API,Redis 做 Cache,后端有用 MongoDB。

  2. 前端用 AngularJs 或其他 Framework,调用 API。

请大家帮忙分析下,此架构的优点和缺点。

  1. 完全脱离 MVC 架构,在后端纯粹用 API 封装有什么优缺点?
  2. 在扩展性和性能上是否有什么制约?
  3. 这种架构,在后端该如何部署? 有没有什么案例参考?
  4. 在开发和部署中,有什么需要注意的地方?

谢谢大家!

你这是技术选型吧,何来架构?

#1 楼 @debugger 哦,我把技术和架构有点混一起了。采用的不是 Rails 的 MVC 架构,用了 CS 架构,API 做 sever, JS 做 Client。 请帮忙分析下吧? :), 多给点建议啊

我最近也在用 Grape 刻 API ,我的感觉是它依然是 MVC ,M 当然是 ActiveRecord ,只有 C 换成 Grape, V 换成 Grape-Entity ,依然可以做到 MVC 分离的架构,只是没有使用 ActionController 和 ActionView(似乎在 Rails 4 也推荐你自行加载有需要用到的,可以把 AC 和 AV 丢掉)。

照你说的是不想要使用 Rails ,那么也可以只用 AR + Grape ,Grape 是 Rack middleware ,可以挂在 Rack 或是 Sinatra ,我没有用过,但估计可行。

有个缺点是 Grape 没有内建 RESTful routing ,你必须自己刻 7 个 CRUD methods ,它不会自动帮你建立(即使你调用 resources ,它其实是直接调用 scope)。

部署不是我在做的,我就不说嘴了。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号