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

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 概念与适用场景 开始阅读。


环境说明

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

项目版本
rqlitev8.x
Docker24.x+
Go1.21+
Python3.10+
curl8.x

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