私有化部署 · 小程序 SaaS 框架

一套部署,运营无限站点

为开发者与服务商而造:webman 常驻内存后端、React 管理端、免编译扩展体系、一键在线升级——应用与插件,装上即生效。

curl -fsSL https://get.tenraft.dev | bash

三分钟起一套 SaaS:装完即得平台后台、健康探针与示例站点。

0

次前端编译

应用与插件,装上即生效

4

层租户体系

官方云 → 部署 → 租户 → 站点

站点数量

框架授权不限站点与租户

7

天离线宽限

断网不影响生产站点运行

01

行业现状

每接一个客户,就重造一次轮子?

部署、二开、升级……传统方案里,站点越多,负担越重,交付越来越慢。

02

一套部署

四层同构,一次部署

官方云、部署、租户、站点各司其职;数据按 site_id 硬隔离,权责一目了然。

03

自由组合

应用与插件,装上即生效

免编译扩展体系,像搭积木一样拼出每个站点的业务形态,无需一行构建命令。

04

无限站点

一套代码,无限生意

站点与租户永不设限,多开一个站点的边际成本趋近于零。

为什么是 Tenraft

以代差立身,不做第 N 个轮子

对市面主流方案的共性硬伤逐一给出内核级答案——每一条都是架构决策,而非功能列表。

常驻内存后端

webman 2.x 进程常驻,框架只初始化一次,摆脱 php-fpm 每请求重建的开销;HTTP、队列、定时任务独立进程,一条命令拉起。

免编译扩展体系

后端热装 + 管理端运行时 ESM 加载。安装应用或插件,无 npm、无构建、无重启编译链——刷新页面即可见,WordPress 式体验。

一键在线升级

Ed25519 签名校验、升级预检、阶梯式增量迁移、升级前快照;失败自动回滚,健康检查通过才算完成。

资金级并发安全

余额扣减走事务 + 行锁 + 流水唯一索引 + CAS 状态机,重复回调与并发请求天然幂等。资产变动只有一个入口。

Hook 扩展点一等公民

内核在关键流程发布同步 filter 与异步 action 事件,插件订阅即可介入。二开不碰源码,升级永远平滑。

多租户 · 多站点

ORM 全局 SiteScope 自动注入 site_id,业务代码禁止手写隔离条件;跨站点操作显式声明并全量审计。

体系结构

四层同构,权责分明

一套部署向下承载无限租户与站点,向上对接官方云的授权、商店与云构建。每一层都有自己的后台与边界。

01

官方云

我方运营

授权服务、官方商店、更新源、uni-app 云构建,由官方运营。

02

部署

平台后台

买家服务器上的一套 Tenraft 实例。授权、应用安装、升级均以部署为单位。

03

租户

租户后台

买家的客户。名额按应用划拨,员工子账号带站点级角色,站点不限量自建。

04

站点

站点后台

独立经营单元,数据按 site_id 硬隔离;自由组合官方应用与插件。

租户与站点数量均无限制;未绑定应用的站点不占任何名额。

资金级安全

把并发安全,
写进内核事务里

竞品的余额扣减没有锁、没有幂等——并发一冲就是资损。Tenraft 把统一收银台做成内核:余额、微信、支付宝、iOS 虚拟支付走同一套交易模型,状态流转一律 CAS,业务回调在事务提交之后。

  • 金额全链路 int 分存储,禁止浮点运算
  • 资产变动唯一入口 AccountService,CI 静态扫描兜底
  • 掉单补偿:1 / 5 / 15 / 30 分钟退避主动查单
core/pay/BalancePayWay.php单事务 · 幂等
Db::transaction(function () use ($trade) {    $member = Member::lockForUpdate()        ->find($trade->member_id);            // 行锁    $this->assertBalance($member, $trade);    // 不足则回滚     $member->decrement('balance', $trade->amount);    AccountLog::create($flow);                // 唯一索引防双扣     Trade::where('trade_no', $trade->trade_no)        ->where('status', 'unpaid')           // CAS 状态机        ->update(['status' => 'paid']);}); Event::dispatch(new PayPaid($trade));         // 提交后再广播

代差对照

与传统 ThinkPHP 系方案的差距

逐项对照市面主流小程序 SaaS 框架的通行做法。

后端运行时

php-fpm,每个请求重建框架

webman 常驻内存,进程级复用

扩展安装

改多处配置,npm install 重新编译

后端热装 + 运行时 ESM,免编译

二次开发

直改源码,升级即冲突

Hook 扩展点介入,平滑升级

余额支付

无锁、无幂等,并发即双扣

事务 + 行锁 + 唯一流水 + CAS

在线升级

覆盖式更新,失败靠人工恢复

预检 + 快照 + 自动回滚 + 健康检查

管理端

Vue + Element 全家桶锁死

React 18 + shadcn/ui + Admin SDK

登筏,启程。

从安装向导到第一个站点上线,只需一杯茶的时间。框架授权一次买断,站点与租户永不设限。