libsql bottomless 集成minio 简单使用

libsql 支持bottomless 可以方便的将wal数据存储在s3中(基于了虚拟wal 接口实现),以下是一个简单使用

环境准备

  • docker-compose

环境开启了namespace 以及集成主从服务

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
    environment:
      - SQLD_ENABLE_BOTTOMLESS_REPLICATION=true
      - LIBSQL_BOTTOMLESS_ENDPOINT=http://s3:9000
      - LIBSQL_BOTTOMLESS_DATABASE_ID=db1
      - LIBSQL_BOTTOMLESS_AWS_ACCESS_KEY_ID=minio
      - LIBSQL_BOTTOMLESS_AWS_SECRET_ACCESS_KEY=minio123
      - LIBSQL_BOTTOMLESS_BUCKET=bottomless
      - LIBSQL_BOTTOMLESS_AWS_DEFAULT_REGION=eu-central-2
      - RUST_LOG=info,bottomless=trace=value
    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
  s3:
    image: minio/minio
    command: server /data --console-address ":9001"
    ports:
      - "9000:9000"
      - "9001:9001"
    environment:
    - MINIO_ACCESS_KEY=minio
    - MINIO_SECRET_KEY=minio123

使用

  • 配置hosts 因为使用了namespace
127.0.0.1 db1.local
127.0.0.1 db2.local
  • 创建db
curl  -X POST \
  'http://localhost:8181/v1/namespaces/db1/create' \
  --header 'Accept: */*' \
  --header 'Content-Type: application/json' \
  --data-raw '{}'
  • 数据写入
curl -d '{"statements": ["CREATE TABLE IF NOT EXISTS usersv2 (username)", "INSERT INTO usersv2 VALUES (\"alice\")"]}' http://db1.local:8080
  • s3 存储效果

说明

以上是一个简单测试,实际对于集成bottomless libsql 内部提供了不少参数,目前官方文档提供的信息并不是很完整,推荐基于源码学习,而且对于集成bottomless的应该是在primary 节点配置的,对于replica节点是不支持的

参考资料

libsql-server/src/main.rs

bottomless/src/replicator.rs

https://github.com/tursodatabase/libsql/blob/main/docker-compose/docker-compose-with-bottomless.yml

posted on   荣锋亮  阅读(8)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2024-01-19 dremio opentelemetry监控试用
2024-01-19 postgres-wasm Supabase & Snaplet 开发的可以在浏览器中运行pg的工具
2024-01-19 dremio ui 数据源插件加载处理简单说明
2024-01-19 dremio 基于Options注解的配置技巧
2023-01-19 dremio DACDaemon 简单说明
2023-01-19 dremio DremioDaemon 简单说明
2023-01-19 dremio 的配置处理简单说明

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示