Skip to main content

litefs

  • superfly/litefs
    • 基于 fuse 的 litestream - 批量同步
    • 可作为临时节点的持久化存储 - 例如 为 Kubernetes 的 Pod 提供 DB 持久化能力
    • 异步复制 - 主节点 crash 可能丢失 亚秒 级事务
    • Rolling checksum
  • FUSE 拦截 syscall
  • 基于 Consul 的主节点选举
  • 提供 HTTP 服务接收变更
  • Lite Transaction Files (LTX)
  • superfly/ltx
tip
  • 只支持 linux
  • macOS #119
    • 不可能会被支持
    • OSXFUSE 闭源、问题很多
caution

litefs.yml

mount-dir: "/path/to/mnt"
# 可选
data-dir: "/path/to/data"

exec: "myapp -addr :8080"

candidate: false # 不参加主节点选举
debug: true

# LTX
retention:
duration: "60s"
monitor-interval: "60s"

http:
addr: ":20202"

consul:
url: "http://localhost:8500"
advertise-url: "http://localhost:20202"
hostname: "localhost"
key: "litefs/primary"
ttl: "10s"
lock-delay: "5s"

# 如果不用 Consul 则可以配置静态信息
static:
primary: true
hostname: "localhost"
advertise-url: "http://localhost:20202"