Dan Sotolongo 在 2026 年 4 月 17 日宣布创办 Cambra,合伙人包括 Daniel Mills 和 Skylar Cook。Sotolongo 的履历很硬:做过 Twitter 可观测性系统、Google 流式数据处理、Snowflake 声明式数据处理。
这决定了 Cambra 的靶子不是前端脚手架,也不是又一个 ORM。它盯的是基础设施和后端团队最熟的那种痛:组件内部都很聪明,系统一连起来就变笨。
Cambra 目前更像一份创业宣言,不是成熟产品发布。它想做一种新的编程系统,把传统互联网软件栈重新组织成一个 coherent system。换句话说,开发者面对的不是数据库、服务、缓存、队列、前端和 API 的拼装现场,而是一个能被工具整体理解的系统。
Cambra 要解决的是跨组件抽象坍塌
Cambra 的核心论点很直接:好模型能让工具进行验证、优化、重构;碎片化系统会让这些能力停在组件内部;互联网软件需要跨领域的连贯模型。
| 概念 | Cambra 指的是什么 | 工程里的症状 |
|---|---|---|
| model | 程序理解世界的抽象方式 | 类型系统、关系模型、actor、durable execution 都属于模型 |
| fragmented system | 组件内部模型强,组件之间靠低层交互 | API 字段语义变了,下游仍按旧含义跑;数据库迁移要卡部署顺序 |
| coherent system | 系统整体处在同一套高层模型里 | 工具能跨组件验证、优化、重构,而不是只在局部聪明 |
日常工程里,这个问题很具体。数据库懂关系模型,应用语言懂类型,Web 框架懂路由和对象。可一旦跨组件,系统级推理常常掉回网络和操作系统那一层:进程、连接、地址、字节、超时、崩溃。
所以 N+1 查询不只是 ORM 蠢。API 契约错配也不只是测试少。数据库迁移反复排部署顺序,也不只是流程保守。
更深的病灶是:整体结构没有被一个高层模型表达。工具只能在单个组件里发力,过了边界就失明。
真正受影响的是后端和基础设施团队
过去十几年,行业给出的常见答案是继续加工具。Kubernetes 管部署,OpenAPI 管接口,Terraform 管资源,Temporal 管工作流。Rails、Django、Firebase、Supabase、Convex 也在各自边界内减少胶水代码。
这些工具都有效,但边界也清楚。Cambra 更激进的地方,是质疑那条默认路线:为了互操作,系统退回足够低层的公共语言;为了让组件能说话,牺牲整体可推理性。
这不是微服务一个人的锅。单体、微服务、数据管道、前后端分离都可能遇到同一类问题:组件内部有模型,组件之间只剩协议、序列化、网络调用和人工约定。
对不同读者,影响不一样:
| 读者 | 现在该怎么判断 | 不该急着做什么 |
|---|---|---|
| 基础设施工程师 | 关注它是否能证明跨组件验证、优化、迁移,而不是只看语法设计 | 不要把它当作可替代现有平台的成熟方案 |
| 后端/全栈团队 | 把它当作观察新一代软件组合方式的样本,尤其看数据库迁移、API 契约、N+1 查询这些老问题 | 不要为了理念迁移现有系统 |
| 技术负责人 | 可延后采购和试点决策,等公开模型、案例、接入路径更清楚 | 不要把“coherent system”直接等同于降本增效 |
如果 Cambra 做成,价值不会是少写几行代码。真正的价值是少做几类高风险动作:少手工协调部署顺序,少靠 staging 环境赌接口没炸,少在跨组件性能优化里搬逻辑、改语言、重测语义。
这件事像铁路早期的轨距混乱,也像电力标准化前的割据。不完全一样,但结构相似:扩张初期,能接上最重要;规模变大后,碎片维护费开始反噬创新。所谓“合久必分,分久必合”,在软件栈里就是工具越堆越多,最后又逼着人找统一模型。
Cambra 押对了病灶,但还没证明药效
我认可 Cambra 的问题判断。现代软件的痛苦不是工具不够多,而是抽象层长期错位。
我们把业务写在对象里,把数据放在关系表里,把流程塞进消息队列里,把可用性丢给编排系统。最后再用 YAML、测试和文档假装自己拥有系统级信心。这套做法能跑,但代价越来越重。
Cambra 面前有两道硬门槛。
第一,新模型要足够宽。Rails 能让 Web 应用舒服,是因为它敢规定应用长什么样。Temporal 能让故障恢复变清楚,是因为它抓住了工作流这个域。Cambra 想跨互联网软件多个域,野心更大,抽象也更容易变胖、变慢、变难迁移。
第二,它必须能进入旧系统。企业最贵的不是写新代码,是拆旧边界。数据库、服务、权限、监控、CI/CD、团队分工都已固化。一个 coherent system 如果不能渐进接入,就会变成漂亮新城:看得见,搬不动。
接下来该盯三件事。
- 公开的编程模型长什么样.它到底统一了哪些域,又放弃了哪些域。
- 是否有跨组件验证或优化案例.比如 API 契约变化、数据库迁移、N+1 查询能否被系统级处理。
- 接入路径是否现实.能否从现有服务旁路接入,而不是要求团队推倒重来。
没有这些证据,Cambra 仍然只是一次漂亮的工程宣言。宣言能指出方向,但不能替团队付迁移账单。
