“反主流”架构的六年生存报告:Go + 原生JS + 存储过程,如何支撑一家一人科技公司?

0 阅读5分钟

“反主流”架构的六年生存报告:Go + 原生JS + 存储过程,如何支撑一家一人科技公司?

这是我在掘金的第一篇文章,也是我六年架构实践的首次完整公开。

如果你在2019年告诉我,要用Go做API层、用原生JS写前端、用数据库存储过程处理核心业务,你多半会觉得我疯了,或者是从十年前穿越过来的。

那一年,技术圈的主旋律是“微服务”、“中台”和“Vue/React YYDS”。

而我,一个只有自己(或极少数伙伴)的“一人科技公司”创始人,却做了一个“反潮流”的决定。

六年后的今天,当我看到很多人被 node_modules 的体积折磨,为微服务的链路追踪头疼时,我想和你分享这套“过时”技术栈的真实生存报告

它不是复古,而是对 “自主可控”“商业价值” 最务实的思考。


一、我为什么选择“逆行”?

我的客户是企业、是政府部门。他们不关心我的技术栈是否时髦,只关心三点:

  1. 系统能不能稳定地跑上五年、十年?
  2. 当有新需求时,能不能快速响应,别再让我加钱?
  3. 数据安不安全?业务能不能自主可控?

显然,大厂那套应对“双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);
  1. 根据前端传来的 opType,查询配置表
  2. 获取对应的存储过程名称
  3. 动态调用该存储过程

当一个请求带着特定 opType 进来时:

  1. Go服务把它丢给数据库
  2. 核心调度器查配置表
  3. 找到对应的存储过程并执行
  4. 结果原路返回

这意味着什么?

新增一个功能:

  1. 写一个存储过程
  2. 在配置表里加一条记录
  3. 前端和Go服务完全不用动

一人公司红利:

  • 开发效率倍增:从“写代码”变成“配置业务”
  • 性能极致:复杂计算在数据库内完成,无网络传输损耗
  • 天然安全:核心逻辑藏在数据库里,前端和API都是“马甲”
  • 数据库可扩展:这套模式可以平滑迁移到MySQL、SqlServer、达梦、人大金仓等任意数据库

三、六年验证的真实结果

这套架构让我一个人,实现了公司官网(www.zgruiyi.com)上承诺的三大优势:

优势如何实现
技术优势配置驱动,每加一条配置就多一个功能
市场优势开发效率高,能快速响应各种行业需求
服务优势逻辑可热插拔,客户定制需求当天响应

真正的价值,不止于思想,更在于代码本身。


四、结语:成为这种架构的“布道者”

我并不排斥新技术。但我始终认为,技术是为商业模式服务的,而不是为了满足技术人员的虚荣心。

对于资源有限的“一人公司”或小团队来说,最宝贵的资产是:

  • 自主可控的技术体系
  • 快速响应业务的能力

而这套以数据库为“大脑”的配置驱动架构,是我过去六年最坚实的后盾。


后续预告

这个系列我会继续写下去:

  • 第二篇:《Go:最“薄”的稳定层,最“厚”的长期主义》
  • 第三篇:《原生JS:16000行代码,零依赖,六年不重构的秘密》
  • 第四篇:《存储过程:配置驱动的“可插拔”业务大脑》

关于交流

如果你对这套架构的实现细节感兴趣,或者正在寻找一种更自主可控的技术路线:

🌐 欢迎访问我的公司官网:www.zgruiyi.com

📧 或通过网站上的联系方式与我私下交流。

真正的价值,不止于思想,更在于代码本身。


发布于 2026年4月27日 | 掘金