Rails 早说了转语言了身体却很诚实...

shawnyu · 2026年05月22日 · 最后由 mingyuan0715 回复于 2026年05月24日 · 631 次阅读

前情提要

https://ruby-china.org/topics/26838

现在我们还有 Rails 项目呢,兜兜转转这么多年看到自己写的这个帖子...

没有哪种技术能让我像对 Rails 和 Ruby 一样,长长的年头里,总是会忍不住在某个需求里面落地。

Rails/Ruby to da moon!

我现在做的是 rails + go 两个直接做同仓库一个数据库共享。高并发的用 go。普通逻辑用 rails。再用上我们的 openclacky。完美。

lyfi2003 回复

我有个疑问,是 go 只做访问跟业务,但是 db migration 那些还是 rails 的吗,部署是一起部署?

shallmentmo 回复

go 只搞并发。比如处理 LLM 有关的流。不做任何业务管理。但它连数据库去做订单判断。

反正就我目前的实践来看:

  1. 论性能,99% 以上场景高于任何 java +vue(react) 方案;
  2. 论开发效率,代码量是同行 Rails 项目的三分之一,是同行其他技术栈五分之一到十分之一以下;
  3. 论服务器成本,4c8g 远远低于同行微服务架构;
  4. 论运维,跨云高可用。就算使用的某个云挂了,也能在 60s(域名解析 ddl) 内切换到其他云厂商,也不存在单点依赖;水平拓展就是整体拓展;
  5. 论开发体验,html,css, 报错,所在文件位置直接定位到某个文件某一行;我的实践是实习生可以在从装环境开始一天内就开始前端开发(erb/ yml /css/js 等修改)并有有效产出;

说几个架构关键点:

  1. 数据库 (pg) 伴应用,数据库与应用在同一台机器上,性能能比云数据库局域网快一倍,不要质疑这个老方案,Rails 和数据库均拉满,pg 的内存占用是 Rails 的 四到十分之一,也就是说在 pg 的舒适区;
  2. 只渲染最小化必要的 html 片段;
  3. 前端 UI 代码依赖极少,从 0 到 1 的基于 hotwire 组件,cdn 后的前端代码加起来才 200KB(两三百 ms 的事), 更别说后面就一直缓存了;
  4. 技术栈极其精简,没有 Redis 和其他的,只有 pg + Rails 全栈;

然后关键高并发的场景引入 go 即可;跟楼上思路一致。

Rails 8 把架构简化到只依赖 PG,确实很神。

mingyuan0715 回复

论开发效率,代码量是同行 Rails 项目的三分之一

你用什么技术栈了?是 rails 项目三分之一?你本身不是 ruby 语言吗?

VirtumartOz 回复

对 Rails 框架进行了点点 hack , 可以去看看我开源的 github.com/one-work。然后跟其他 Rails 项目对比下代码量。

我感觉 AI 的出现说不定对 rails 是毁灭性的打击,在实际工作中发现,虽然已经尽力在 ROR 上做了优化,但是效果仍然达不到要求,从而不得不转向别的语言,同一套代码逻辑用其他的语言实现之后,性能提升显著,而且有了 AI 之后重构的成本实在是太低了,rails 甚至已经失去了开发效率高的优势,感觉使用 rails 就仅仅只是一种情怀了

ice_col 回复

我觉得不好说,反正我合作过的 java + vue(uniapp) 的性能没一个好的。Rails 8 性能不好,绝对是没用好。 AI 真实效率如何,我还在观察市场的表现,我还是比较相信人月神话里的复杂度的论断!

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