前几天看到 DHH 分享的一篇文章,关于 Shopify 2025 年黑五的数据:
❝商品交易总额(GMV):62 亿美元 API 请求峰值:每分钟 3100 万次 数据库读取:每秒 5300 万次 数据库写入:每秒 200 万次 处理请求总数:1730 亿次 Kafka 消息峰值:每秒 6600 万条 CDN流量:每分钟 12 TB Embedding 生成:每天 2.16 亿次 单体应用代码:超过 40 万个单元测试
这些数字背后,可用的是一个 2004 年就诞生的框架:Ruby on Rails。就是那个常被人吐槽“过时”、“不适合大规模应用”的 Rails。
这不禁让我想起一个经常听到的声音:学新技术才有前途,老框架早该淘汰了。但 Shopify 的故事告诉我们,也许我一直想错了。
2004 年,德国程序员 Tobi Lütke 想开个在线滑雪板店。当时市场上的电商系统要么贵得离谱,要么功能太弱,反正就是“不够好”。
作为一个程序员,他的反应很直接:既然没有好工具,那就自己写一个。
他选了刚出来的 Ruby on Rails,几个月后,Snowdevil 的电商平台就上线了。商品管理、购物车、支付、订单追踪——该有的功能一个不少。
但很快,Tobi 和团队发现了一件事:他们做的这个平台,比卖滑雪板赚钱的潜力大多了😅。
2006 年,Shopify 正式作为 SaaS 平台推出。2015 年上市,今天市值超过 2000 亿美元。
技术选型的本质,不是追最新最酷的东西,而是找到能快速解决问题的工具。Rails 让 Tobi 在几个月内就把想法变成了产品,这才是关键。
硅谷有个惯例:公司大了就要重写技术栈。Twitter 从 Rails 换到 Scala,LinkedIn 从 Rails 转向 Node.js。仿佛不重写一遍,就对不起工程师的身份。
但 Shopify 不一样。
从 2004 年到现在,核心系统一直是 Rails。更神奇的是,CEO Tobi Lütke 至今还在写代码,最近还发布了一个开源工具 Try。
想想看,一个市值两千亿美元公司的 CEO,还在 GitHub 上提交代码,这在科技圈里真的不多见。
也许创始人懂技术,公司就不会轻易被“技术焦虑”绑架。不会因为某个新框架火了,就急着推翻重来。他们知道什么该换,什么不该换。
这种技术定力,比追最新的技术栈更值钱。
“Rails 不适合大规模应用”——这句话我可是经常听。
但看看 Shopify 2025 年黑五的数据,着实让人眼前一亮,全球大部分公司的系统,一辈子都不会遇到这种流量。
这彻底推翻了“框架决定规模”的迷思。真正决定规模的,是架构设计,而不是框架本身。
Shopify 用的是 Modular Monolith(模块化单体)+ Pods(物理隔离)+ 缓存优化,这些才是扛住流量的关键。Rails 只是基础,但基础打得稳,上面就能盖摩天大楼。
Shopify 没有只当 Rails 的用户,而是直接成了“金主”。
公司雇佣了近一半的 Rails 核心贡献者,还主导开发了一堆开源项目:
这些工具不仅让 Shopify 自己受益,也让整个 Rails 社区变得更强。
这才是开源框架的最佳实践。你用开源工具省了时间,那就把改进回馈给社区。这样整个生态才会越来越好,大家都是受益者。
很多公司只想“白嫖”开源,出了问题就抱怨工具不行。但 Shopify 的做法是:既然用了这个工具,那就让它变得更好。
Shopify 有个很极端的做法:在生产环境用 Rails 的最新开发版。
一般公司都是等稳定版出来才敢上生产,Shopify 直接用“测试版”。
听起来很冒险,但仔细想想,这其实是最快发现问题、最快改进的方式。发现 bug?直接修,然后贡献回社区。这样整个生态都能跟着变好。
信任是双向的:Shopify 信任 Rails 能扛住压力,同时也承担起让 Rails 变得更好的责任。这就像是开源版的 Skin in the Game——你真的在用这个工具,而不只是嘴上说说。
虽然核心是 Rails,但 Shopify 的技术栈其实很多元:
这就是我最喜欢的一点:不要教条,该用啥用啥。
Rails 适合快速开发业务逻辑,那就用 Rails。需要极致性能?上 Rust。需要实时消息?Kafka 走起。
技术选型从来不是“非黑即白”的问题。很多人陷入“语言之争”、“框架之争”,其实是把问题简单化了。
真正的工程智慧,是理解每个工具的长处,然后组合起来。就像做菜,你不会只用盐来调味,对吧?
聊了这么多 Shopify 的故事,分享三个个人感悟:
很多时候,我们想重写代码,不是因为旧代码真的不行,而是因为看着不爽。但重写的成本是巨大的——不仅是时间,还有测试、迁移、Bug 修复。
Shopify 告诉我们:如果现有工具能解决问题,就先优化它,而不是推翻重来。
Rails 在 Hacker News 上的讨论度,肯定比不上最新的 JS 框架。但 Shopify 用 Rails 构建了两千亿美元的公司,而很多追新技术的创业公司早就倒闭了。
选技术栈,要看它能不能帮你快速验证想法,而不是看它在社区有多火。
这不是道德绑架,而是长期主义。你今天回馈的代码,明天可能就帮到了另一个开发者,后天可能又回馈到你的项目里。
开源的本质是协作,不是单向索取。
Rails 官网有句口号:“Rails scales from HELLO WORLD to IPO”
Shopify 用 20 年证明了这句话不是吹牛。
我们这个行业,总是被“新”和“酷”裹挟着前进。新框架、新语言、新架构——似乎不学就会被淘汰。
但 Shopify 的故事提醒我们:技术选型的核心,不是追新,而是找到适合自己的工具,然后把它用到极致。
一个经过验证的工具,配合良好的架构和持续的优化,完全可以支撑起千亿级的业务。
在 AI coding 的时代,这一点尤为重要。创建一个新项目不仅仅是选择一种语言或框架,而是结合多种技术,创造出更智能、更高效的解决方案。AI 的引入让我们更关注于如何整合资源、优化流程,而不是局限于某个特定的技术栈。
所以下次当你纠结要不要学那个新框架时,不妨问自己:我是真的需要它,还是只是害怕被落下?
就像 Tobi Lütke 说的:选择一个工具,深入理解它,持续投资,将它推向极致——这远比追逐每一个新趋势更有价值。在 AI 的助力下,这种深度理解和持续优化才是成为技术创新的核心驱动力。
Ruby on Rails(简称 Rails)是一个基于 Ruby 语言的全栈 Web 应用框架,由 David Heinemeier Hansson (正文提到的 DHH)在 2004 年从 Basecamp 项目中提取而来。Rails 的核心哲学可以用两个原则概括:
Convention over Configuration(约定优于配置):Rails 通过合理的默认约定,让开发者无需编写大量配置文件。一个符合命名规范的 Model 类会自动映射到对应的数据库表,Controller 会自动找到对应的 View 模板。这种约定大幅减少了样板代码,让开发者专注于业务逻辑。
Don‘t Repeat Yourself(不要重复自己):Rails 提倡通过抽象和代码复用来消除重复。Active Record 模式让数据库操作变得优雅,RESTful 路由设计让 API 端点清晰明了。
Rails 是经典的 MVC 架构鼻祖,这种架构让 Rails 成为快速原型开发的首选工具。Ruby on Rails 的成功不仅体现在自身的广泛应用,还深刻影响了整个 Web 开发生态。Laravel Django 等框架都表示受 Rails 启发,好的设计理念是跨语言的。“约定优于配置”、“DRY”、快速原型开发——这些由 Rails 推广的原则,今天已经成为 Web 开发的行业标准。