知识库推荐架构

推荐架构:被生产验证过的一套组合

智造提效工坊 · 更新于 2026-08

总有人拿着别人画的「架构图」来问我意见:三层微服务、消息队列、容器编排,层层叠叠很唬人。我的回答常让对方一愣:你大概率用不上这里面任何一层。

先交代底气从哪来。我不是科班出身,41 岁,在大型家电集团做了 18 年品类管理的数字化,编程自学。下面这套组合谈不上时髦,但它不是我画饼:我对外运营的内容站(magicsnake.cn,1818 个页面、300 多条音频全自动产出)用它跑了半年以上,集团内网的品类数据检索平台也是同一套思路。能被我天天拿去干活的架构,才有资格推荐给你。

全景图:一共就四层

  [交付层]      nginx 静态托管 + HTTPS
                   ^  生成好的 html 落地即上线
  [生成/服务层]  Node.js 定时任务 + 静态页生成(systemd 守护)
                   ^  按需调用
  [AI 层]        官方 API 按量付费(DeepSeek / GLM)
                   ^  读写同一个本地文件
  [数据层]       SQLite(better-sqlite3)—— 全部数据就是一个 .db 文件

自下而上修路,自上而下理解:用户访问的是 nginx 吐出的静态页面;这些页面由 Node.js 的定时任务提前生成;生成过程中按需调用 AI 官方接口;所有内容最终落到一个 SQLite 文件里。

逐层说清「为什么不选更高级的」

数据层:就用 SQLite,单文件起步

理由有三个,都很反直觉。其一,它的能力远超一般人想象,99% 的中小场景是「几十个人白天零零星星访问」,根本喂不饱它。其二,备份等于复制文件——把 .db 拷走就完成了灾备,不需要培训谁都看得懂。其三,没有数据库账号密码、没有连接池要配,凭空少掉一大类故障点和安全隐患。什么时候才轮到 MySQL 集群?等你有了专职 DBA、或日写入到了几十万行的量级再讨论。在那之前上集群,买到的大多是心理安慰。

生成/服务层:Node.js 定时任务+预生成页面,systemd 看着

关键取舍一句话:能提前生成静态页满足的,就不做用户访问时才拼装的动态渲染。静态页天生扛流量(一万个人来也只是读文件)、几乎不存在「宕机」这个话题,还省掉缓存设计的大部分麻烦。进程守护选 systemd 而不是更时髦的容器,理由朴素:十几行配置换来崩溃自动拉起、开机自动启动,一个人的团队也守得住。

安全红线,出过事故的人都懂:服务端代码、.db 文件、API key 绝不放进静态托管目录;另外 nginx 的 alias 目录映射非常反直觉,配错轻则 404、重则把不该暴露的东西裸奔出去。我每次发布都会用 curl 抽查敏感路径必须返回 404,三十秒换个安心。

AI 层:官方 API 按量付费,先别惦记自建模型

我的站内助手用的是 GLM 这一代的开源型号(GLM-4-9B)走 API,主力批处理用 DeepSeek。调用量小的阶段,本地部署大模型反而最贵:显卡是一次性固定资产,电费和维护是细水长流,而你一个月的实际账单可能只要几十块钱。按量付费还有个隐藏好处——敢于放手试错,试一百次成本也有限,这比「包月随便用」更容易磨出真正有用的玩法。一条纪律不许破:API key 只放服务端配置,前端页面里永远不许出现。

算笔量级账:一台最低配云服务器(几十元/月的量级)能把上面四层全装下;真正浮动的是 API 调用费,像我这种每天批量生成几十上百段文本的强度,月成本也就是百元级的量级。你的算法更简单:预估日调用量 × 官方单价 × 30 天,得出的数大概率会让你松一口气——也顺便能对照出现在某些建站方案里的暴利水分。
程序上的坑记一笔:处理流式返回时把数据一块一块直接拼成字符串,跨块的中文字会被拦腰剁成乱码(看到的全是 �)。正确做法是先把原始字节攒进 Buffer,收完再整体解码。这个坑我是在日志满屏问号之后才定位到的,你不必再踩。

交付层:nginx 静态托管+HTTPS

这一层的哲学就是「没什么可宕机的」。域名解析、证书申请这些一次性动作的完整步骤,我写在了 部署上线;上线后的日常巡检、日志去哪看、磁盘满了怎么办,在 运维与排错 里有现成清单。

两个交付层的经典暗坑,一并交代:一,nginx 给静态资源开了长期强缓存后,你明明更新了页面,用户浏览器却懒得来问——要么给文件改名,要么改完立刻强刷验证;二,我的发布铁律是三连 curl:页面 200、封面资源 200、敏感路径 404,缺一不算上线成功。

组件对照表:对号入座

需求规模选什么为什么月成本量级
一个流程,每天几十条记录SQLite 单文件+单个定时脚本+API 直调半天上线,坏了大不了重启几十元内,几乎全是 API 费
十几人共用的内部小平台仍是 SQLite,加一个常驻 Node 服务这个并发量惊不动任何数据库集群百元级
上千页的内容型网站SQLite 分表+生成管道定期增补静态页天然扛并发,搜索引擎也友好几百元级,主要是 API 和带宽
高频写入、多团队共管生产数据这时再谈 PostgreSQL 及以上说明你已经大到需要专人专职了数千元起,还要叠加人力成本

最后一句话把态度摆明。在工厂和写字楼里泡了 18 年,我学到的一条铁律是:架构是为规模买单的,多数人的规模根本轮不到分布式。先用最简单的组合把东西做出来、真的有人用起来,等瓶颈出现那天再升级——那一天,通常比你和你请的顾问预估的都要晚得多。

  1. 把这张 ASCII 图转给替你干活的技术同学或外包,让他指认你们现在落在哪一层——答不上来的要留个心眼。
  2. 问服务商三个问题:数据存在哪个库、备份怎么操作、API key 放服务端还是网页里。任何一个答不利索,先别付款。
  3. 导出一份现有业务数据看一眼大小和条数,大概率会发现连 SQLite 开始担心规模的零头都没到。
  4. 估算真实 AI 开销:日均调用次数 × 官方单价 × 30,拿这个数去对照现在方案的报价。
  5. 已购云服务器的,登上去数一数正在跑的东西;连自己都数不清,本身就是一次健康预警。
说你的场景,免费诊断把卡住的流程大白话描述一下,24 小时内回复。去聊两句 →