“反主流”架构的六年生存报告:Go + 原生JS + 存储过程,如何支撑一家一人科技公司?
这是我在掘金的第一篇文章,也是我六年架构实践的首次完整公开。
如果你在2019年告诉我,要用Go做API层、用原生JS写前端、用数据库存储过程处理核心业务,你多半会觉得我疯了,或者是从十年前穿越过来的。
那一年,技术圈的主旋律是“微服务”、“中台”和“Vue/React YYDS”。
而我,一个只有自己(或极少数伙伴)的“一人科技公司”创始人,却做了一个“反潮流”的决定。
六年后的今天,当我看到很多人被 node_modules 的体积折磨,为微服务的链路追踪头疼时,我想和你分享这套“过时”技术栈的真实生存报告。
它不是复古,而是对 “自主可控” 和 “商业价值” 最务实的思考。
一、我为什么选择“逆行”?
我的客户是企业、是政府部门。他们不关心我的技术栈是否时髦,只关心三点:
- 系统能不能稳定地跑上五年、十年?
- 当有新需求时,能不能快速响应,别再让我加钱?
- 数据安不安全?业务能不能自主可控?
显然,大厂那套应对“双11”海量并发的技术思想,解决不了我的问题。
我的核心矛盾是:如何用有限的几个人,去快速响应对稳定性、安全性和长期维护要求极高的B端需求?
于是,我选择了一条“逆行”的路。
二、“一人成军”的三板斧
我的核心思想:把复杂变简单,把通用变配置。
第一板斧:Go —— 最“薄”的稳定层
在我的架构里,API服务被设计成最薄的一层。它就是“数据通道”,一个“提线木偶”。
所有前端请求,都只调用一个统一入口函数。关键参数叫 opType。Go服务接到请求后,它不解析任何业务参数,只做三件事:
RYSSI_GetMasterCallQuery(params, callback);
- 解析出
opType - 把整包数据往MySQL一扔
- 等着数据库返回结果,再还给前端
一人公司红利:
- ✅ 业务变更无需重启Go:改存储过程就行
- ✅ 极致的稳定:正因为它“不懂业务”,所以几乎不出Bug
- ✅ 部署简单:编译成二进制,扔到服务器就能跑
我需要的不是“技术正确”,而是“商业正确”。
第二板斧:原生JS —— 16000行的“长期主义”
别被16000行吓到——那是我花了6年,一块块垒起来的业务堡垒。
我从不使用任何第三方前端框架。这意味着:
- ❌ 没有
package.json - ❌ 没有
node_modules - ❌ 没有
npm audit - ❌ 没有构建工具配置错误
核心是一个 OAPagesExOp.js 文件,里面封装了从基础DOM操作到复杂业务控件的全部能力。
// 创建一个动态文本框
RYOA_DynamicControl_Text_Create(container, config);
// 创建一个动态下拉框
RYOA_DynamicControl_Dropdown_Create(container, config);
例如:调用文本框创建函数,传入容器和配置参数,即可生成一个动态控件;下拉框同理。
一人公司红利:
- ✅ 零依赖,绝对可控:六年不用为框架升级操心
- ✅ AI极度友好:让AI理解Vue的生命周期很复杂,但让它直接生成操作DOM的原生JS代码,准确率极高
这套架构最大的意外红利,是对AI极度友好。
第三板斧:存储过程 —— 真正的“业务大脑”
这是整个架构的精华。
我在数据库里设计了一张配置表,叫配置注册表。它就像一个“电话总机接线员”:
-- 核心调度示意(非完整代码)
SELECT RegCmdScript INTO @procName
FROM sysdynamicsetsreg
WHERE RegOpType = input_opType;
-- 动态调用存储过程
CALL @procName(input_params);
- 根据前端传来的
opType,查询配置表 - 获取对应的存储过程名称
- 动态调用该存储过程
当一个请求带着特定 opType 进来时:
- Go服务把它丢给数据库
- 核心调度器查配置表
- 找到对应的存储过程并执行
- 结果原路返回
这意味着什么?
新增一个功能:
- 写一个存储过程
- 在配置表里加一条记录
- 前端和Go服务完全不用动
一人公司红利:
- ✅ 开发效率倍增:从“写代码”变成“配置业务”
- ✅ 性能极致:复杂计算在数据库内完成,无网络传输损耗
- ✅ 天然安全:核心逻辑藏在数据库里,前端和API都是“马甲”
- ✅ 数据库可扩展:这套模式可以平滑迁移到MySQL、SqlServer、达梦、人大金仓等任意数据库
三、六年验证的真实结果
这套架构让我一个人,实现了公司官网(www.zgruiyi.com)上承诺的三大优势:
| 优势 | 如何实现 |
|---|---|
| 技术优势 | 配置驱动,每加一条配置就多一个功能 |
| 市场优势 | 开发效率高,能快速响应各种行业需求 |
| 服务优势 | 逻辑可热插拔,客户定制需求当天响应 |
真正的价值,不止于思想,更在于代码本身。
四、结语:成为这种架构的“布道者”
我并不排斥新技术。但我始终认为,技术是为商业模式服务的,而不是为了满足技术人员的虚荣心。
对于资源有限的“一人公司”或小团队来说,最宝贵的资产是:
- 自主可控的技术体系
- 快速响应业务的能力
而这套以数据库为“大脑”的配置驱动架构,是我过去六年最坚实的后盾。
后续预告
这个系列我会继续写下去:
- 第二篇:《Go:最“薄”的稳定层,最“厚”的长期主义》
- 第三篇:《原生JS:16000行代码,零依赖,六年不重构的秘密》
- 第四篇:《存储过程:配置驱动的“可插拔”业务大脑》
关于交流
如果你对这套架构的实现细节感兴趣,或者正在寻找一种更自主可控的技术路线:
🌐 欢迎访问我的公司官网:www.zgruiyi.com
📧 或通过网站上的联系方式与我私下交流。
真正的价值,不止于思想,更在于代码本身。
发布于 2026年4月27日 | 掘金