提到 SQLite,大多数人脑子里冒出的词大概是
“单机数据库”、“轻量级”、“不支持主从”、“只适合嵌入式”。
我以前也是这么想的——直到我试了下 LiteFS,
真没想到,SQLite 居然也能玩主从同步、读写分离,还几乎零改造!
截图引用GIthub项目
LiteFS 到底是啥?
LiteFS 是 Fly.io 团队开源的一款「SQLite 主从复制工具」。
它的原理有点骚:
- 在文件系统层面拦截 SQLite 的写操作;
- 把 WAL(Write-Ahead Log)日志流复制到从节点;
- 实现实时同步,还能自动恢复。
一句话总结:
它让一个“单机 SQLite”,秒变“分布式 SQLite”。
而且——不用改应用代码!
你还是照常 sqlite3.connect('app.db'),LiteFS 自动搞定底层复制。
3 步搞定主从同步
1、安装 LiteFS
curl -L https://fly.io/install.sh | sh2、配置 LiteFS
mount-dir = "/litefs"data-dir = "/data"[proxy]addr = ":8080"target = "app:8081"[upstream]url = "http://primary-node:20202"3、启动节点
litefs mount主节点写入数据,从节点立刻收到同步。
你的应用层根本不需要改任何 SQL。
✅ 性能几乎和本地 SQLite 一样
✅ 支持 Docker / K8s
✅ 支持边缘节点复制
真香的使用场景
- 轻量级服务端:不想折腾 MySQL,但又想高可用
- IoT / 边缘计算:多个节点共享小型数据
- Dev 环境:主从测试、多人协作数据库
以前搞同步动不动就 MySQL + Canal + Redis,
现在一个二进制搞定,几 MB 大小,一行命令就能跑。
实战体验
我在本地跑了一个 demo:
主节点写 10W 条记录,从节点同步延迟 < 100ms。
期间断开网络,LiteFS 自动追平差异日志。
这已经不是“嵌入式数据库”,而是小型“分布式 SQLite 系统”。
**轻到离谱,还真能打!
GitHub 地址: https://github.com/superfly/litefs
总结
以前我们说:SQLite 轻,但不适合线上。
现在我想说:
“SQLite 太轻了,连同步都变得轻了。”
主从、复制、容灾,通通搞定。
真没想到有一天,我会看着 SQLite 感叹一句:
这玩意儿,都能当数据库集群了!

