libsql server 复制简单使用
libsql server 通过暴力server 模式是让sqlite 具有了远端访问能力,同时基于复制能力,可以实现高可用
参考玩法
如下图,可以看到libsql server 可以灵活的进行数据的写出来,通过wal 实现数据更新

测试&使用
- docker-compose
services:
db1:
image: ghcr.io/tursodatabase/libsql-server:latest
ports:
- "8080:8080"
- "5001:5001"
environment:
- SQLD_NODE=primary
volumes:
- ./data1/libsql:/var/lib/sqld
db2:
image: ghcr.io/tursodatabase/libsql-server:latest
ports:
- "8081:8080"
- "5002:5001"
environment:
- SQLD_NODE=replica
- SQLD_PRIMARY_URL=http://db1:5001
volumes:
- ./data2/libsql:/var/lib/sqld
- 测试 可以通过db2,写入,通过db1查询测试数据
curl -d '{"statements": ["CREATE TABLE IF NOT EXISTS users (username)", "INSERT INTO users VALUES (\"alice\")"]}' 127.0.0.1:8081
curl -d '{"statements": ["SELECT * FROM users"]}' 127.0.0.1:8080
以及通过db1写入,db2查询测试数据
curl -d '{"statements": ["CREATE TABLE IF NOT EXISTS usersv2 (username)", "INSERT INTO usersv2 VALUES (\"alice\")"]}' 127.0.0.1:8080
curl -d '{"statements": ["SELECT * FROM usersv2"]}' 127.0.0.1:8081
效果


说明
以上是一个简单复制的测试,后边测试下快照能力
参考资料
https://github.com/tursodatabase/libsql/blob/main/docs/USER_GUIDE.md
浙公网安备 33010602011771号