libsql 多租户namespace模式试用
libsql 支持基于db 分离的多租户模式,但是需要开启namespace 能力,以下是一个简单说明以及测试
开启namepace
我基于docker-compose 部署, 目前docker 部署的缺少环境变量支持,我基于了cmd 运行,核心是--enable-namespaces
- docker-compose
services:
db1:
image: ghcr.io/tursodatabase/libsql-server:latest
entrypoint: /bin/sqld --db-path iku.db --http-listen-addr 0.0.0.0:8080 --admin-listen-addr 0.0.0.0:8181 --grpc-listen-addr 0.0.0.0:5001 --enable-namespaces
ports:
- "8080:8080"
- "8181:8181"
- "5001:5001"
volumes:
- ./data1/libsql:/var/lib/sqld
db2:
image: ghcr.io/tursodatabase/libsql-server:latest
entrypoint: /bin/sqld --db-path iku.db --http-listen-addr 0.0.0.0:8080 --admin-listen-addr 0.0.0.0:8181 --primary-grpc-url http://db1:5001 --enable-namespaces
ports:
- "8081:8080"
- "8182:8181"
- "5002:5001"
volumes:
- ./data2/libsql:/var/lib/sqld
测试
- 创建db
基于namespace
curl -X POST \
'http://localhost:8181/v1/namespaces/db1/create' \
--header 'Accept: */*' \
--header 'Content-Type: application/json' \
--data-raw '{}'
- 配置host
目前对于namespace 的支持基于了dns,当然对于本地测试也支持基于路径模式的
127.0.0.1 db1.local
127.0.0.1 db2.local
- 写入以及查询测试
// 写入
curl -d '{"statements": ["CREATE TABLE IF NOT EXISTS usersv2 (username)", "INSERT INTO usersv2 VALUES (\"alice\")"]}' http://db1.local:8080
// 查询
curl -d '{"statements": ["SELECT * FROM usersv2"]}' http://db1.local:8081
效果
说明
目前测试写入速度比较慢,可能是dns 解析处理有关系,然后分析下,同时基于路径模式的似乎也不行,可能和配置使用有关系,后边研究下
参考资料
https://github.com/tursodatabase/libsql/blob/main/docs/USER_GUIDE.md
https://github.com/tursodatabase/libsql/blob/main/docs/ADMIN_API.md
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2024-01-18 snaplet 一个强大的类似产品数据的生成工具
2024-01-18 spring boot 3.2.1 dremio jdbc jprofiler 集成
2021-01-18 cube.js 查询分页的处理
2021-01-18 cube.js 预聚合处理
2020-01-18 electron 7 typescript @types/node v13 问题
2020-01-18 actix rust actor 框架学习 二 ping actor demo 代码
2020-01-18 actix rust actor 框架学习 一 基本试用