强曰为道
与天地相似,故不违。知周乎万物,而道济天下,故不过。旁行而不流,乐天知命,故不忧.
文档目录

rqlite 完全指南

rqlite 完全指南

rqlite — 基于 Raft 共识协议的分布式 SQLite 数据库,用 Go 语言编写,兼具轻量与高可用。


为什么写这份指南?

rqlite 是一个将 SQLite 变成分布式数据库的开源项目。它保留了 SQLite 的简洁性,同时通过 Raft 协议实现了多节点数据复制和高可用(High Availability)。对于需要轻量级持久化、但又不想依赖 MySQL/PostgreSQL 的场景,rqlite 是一个极具吸引力的选择。

本指南从零开始,覆盖 rqlite 的核心概念、安装部署、集群管理、安全配置、性能优化、监控运维等方面,适合以下读者:

读者类型 适用章节
初学者,想了解 rqlite 是什么 第 1-4 章
后端开发者,需要在项目中集成 rqlite 第 5、10 章
运维工程师,负责部署和管理集群 第 6、7、8、11、12、13 章
架构师,评估技术选型 第 1、9、14 章

章节目录

章节 标题 关键词
第 1 章 rqlite 概念与适用场景 Raft、SQLite、分布式、适用场景
第 2 章 安装与集群搭建 二进制、Docker、集群初始化
第 3 章 架构深度解析 Raft 共识、SQLite 存储、HTTP API
第 4 章 基础操作 创建表、CRUD、查询
第 5 章 HTTP API 详解 参数绑定、事务、一致性级别
第 6 章 集群管理 节点管理、Leader 选举、数据同步
第 7 章 备份与恢复 自动备份、手动恢复、快照
第 8 章 安全配置 TLS、认证、访问控制
第 9 章 性能优化 读优化、批量写入、连接管理
第 10 章 客户端开发 Python、Go、Java、CLI
第 11 章 容器化部署 Docker、Docker Compose、Kubernetes
第 12 章 监控与可观测性 状态 API、Prometheus、Grafana
第 13 章 故障排查 常见问题、集群问题、日志分析
第 14 章 最佳实践 何时使用、生产规范、架构建议

快速开始

如果你想先体验再深入学习,可以用 Docker 快速启动一个单节点:

docker run -p 4001:4001 rqlite/rqlite

然后执行你的第一条查询:

curl -G 'localhost:4001/db/query' --data-urlencode 'q=CREATE TABLE demo (id INTEGER PRIMARY KEY, name TEXT)'
curl -XPOST 'localhost:4001/db/execute' -H 'Content-Type: application/json' -d '[["INSERT INTO demo VALUES(1, \"hello rqlite\")"]]'
curl -G 'localhost:4001/db/query' --data-urlencode 'q=SELECT * FROM demo'

更多细节请从 第 1 章:rqlite 概念与适用场景 开始阅读。


环境说明

本指南中的示例基于以下环境编写和测试:

项目 版本
rqlite v8.x
Docker 24.x+
Go 1.21+
Python 3.10+
curl 8.x

注意: 不同版本的 rqlite API 可能存在细微差异。生产部署前请务必参考 rqlite 官方文档 确认版本兼容性。