工程开发
litestream avatar

litestream

Litestream 灾难恢复工具的专家技术支持,涵盖 WAL 监控、LTX 复制、云存储后端以及 SQLite 页面管理。

简介

此代理技能为使用 Litestream(SQLite 独立灾难恢复工具)的开发人员与系统管理员提供专家级协助。旨在引导用户深入了解架构、实现模式以及与持续性 SQLite 复制相关的复杂调试情境。本代理已针对核心不变量(如 1GB 锁定页面边界、LTX 文件不可变性、原子文件操作)进行了训练,确保您的复制逻辑维持一致性与持久性。

当您需要理解 Litestream 如何监控预写式日志 (WAL)、管理多层压缩,或是如何通过 ReplicaClient 接口实现自定义存储后端时,请使用此技能。无论您是在调试复制延迟、配置 S3/GCS 后端,或是为高可用生产环境架构稳健的 SQLite 部署,此代理皆能提供可执行的代码模式与系统配置建议。它有效地简化了手动剖析代码以获取底层交互细节的过程。

  • 关于将 Litestream 集成至 Go 应用程序的架构指导,包括正确的数据库层管理与锁定顺序(从 Store.mu 到 Replica.mu)。

  • 对于 LTX 文件格式、事务 ID (TXID) 以及时间点恢复 (PITR) 检查点逻辑的深入见解。

  • 关于通过竞态检测器 (race detector) 进行测试、构建自定义存储适配器以及处理 SQLite 页面大小变异(4KB, 8KB, 16KB, 32KB)的最佳实践。

  • 支持高级监控设置(包括 Prometheus 指标与 Grafana 仪表板),以追踪 WAL 字节消耗与同步操作。

  • 针对分布式系统的错误处理策略,包括正确封装 Context 错误以及管理原子重命名操作。

  • 优先使用 modernc.org/sqlite 驱动程序,以避免 POSIX 系统上的锁定冲突。

  • 遵守严格的 LTX 文件存储政策以维持备份完整性。

  • 在压缩期间,务必优先执行本地读取操作,再进行远程存储访问,以优化一致性与延迟。

  • 确保在任何手动页面级操作或压缩逻辑中,始终跳过 1GB 的锁定页面 (0x40000000),以防止数据库损坏。

  • 咨询代理关于配置副本、管理副本生命周期以及调试如 busy_timeout 等连接池 pragma 的建议。

仓库统计

Star 数
13,512
Fork 数
355
Open Issue 数
72
主要语言
Go
默认分支
main
同步状态
空闲
最近同步时间
2026年5月3日 05:09
在 GitHub 查看