1 个不稳定版本
0.1.24 | 2024年5月11日 |
---|---|
0.1.23 |
|
0.1.22 |
|
0.1.11 |
|
在 数据库接口 中排名第 898
每月下载量 69
1.5MB
7K SLoC
包含 (WOFF 字体, 99KB) fontawesome-webfont.woff、(WOFF 字体, 78KB) fontawesome-webfont.woff2、(WOFF 字体, 45KB) open-sans-v17-all-charsets-300.woff2、(WOFF 字体, 41KB) open-sans-v17-all-charsets-300italic.woff2、(WOFF 字体, 45KB) open-sans-v17-all-charsets-600.woff2、(WOFF 字体, 43KB) open-sans-v17-all-charsets-600italic.woff2 等 7 个文件和更多。
RXQLite
安装
您可以在 GitHub 上编译 rxqlited 或使用为 Windows 或 Ubuntu (x86_64) 构建的二进制文件,地址为: https://github.com/HaHa421/rxqlite/releases。
如果是二进制文件,请确保使用最新版本。
Windows:您需要使用 msvc 工具链(由于 https://github.com/rust-rocksdb/rust-rocksdb/issues/866,mingw 构建已损坏)
使用方法
您将以集群模式或单节点模式运行 rxqlited,由于 rxqlited 使用 raft 协议,集群必须包含奇数个节点(rxqlited 作为单个节点形成一个包含单个节点的集群)
在本地机器上启动单个节点集群:使用
rxqlited --id 1 --http-addr 127.0.0.1:21001 --rpc-addr 127.0.0.1:22001 --notifications-addr 127.0.0.1:23001
rxqlited 将在 localhost:22001 上监听 API 和集群管理请求。
然后,您可以使用以下命令从 rxqlited 获取指标
curl https://127.0.0.1:21001/cluster/metrics
您应该看到集群当前领导者为节点 1,在单个节点集群中这是预期的。
在本地机器上启动 3 个节点集群
rxqlited --id 1 --http-addr 127.0.0.1:21001 --rpc-addr 127.0.0.1:22001 --notifications-addr 127.0.0.1:23001 --member "2;127.0.0.1:21002;127.0.0.1:22002" --member "3;127.0.0.1:21003;127.0.0.1:22003" --leader true
rxqlited --id 2 --http-addr 127.0.0.1:21002 --rpc-addr 127.0.0.1:22002 --notifications-addr 127.0.0.1:23002
rxqlited --id 3 --http-addr 127.0.0.1:21003 --rpc-addr 127.0.0.1:22003 --notifications-addr 127.0.0.1:23003
将启动三个 rxqlited 实例。
几秒钟后,我们可以使用以下命令检查集群指标
curl https://127.0.0.1:21001/cluster/metrics
并检查集群包含 3 个节点(成员:[1,2,3])。
任何后续的集群运行都不需要在启动节点时传递 --member 或 --leader
有关 openraft 的更多信息,您可以查看: https://github.com/datafuselabs/openraft
客户端示例展示了使用 Rust 对 API 进行基本使用的示例。
此外,从 https://github.com/HaHa421/sqlx-rxqlite 可以获取 sqlx 驱动(https://github.com/launchbadge/sqlx),以简化使用 rxqlite。
客户端
Rust
安全性
警告:此数据库尚未收到任何 ITSA(独立第三方安全审计)。
rxqlited 版本支持在不安全模式下使用 TLS:它接受无效的证书(这包括自签名证书)。
./ha-init-cluster-insecure.sh
展示如何在非安全的 TLS 模式下运行集群。
它将在 certs-test 中生成自签名证书和私钥,并将使用这对所有集群节点(此处为 3 个节点)。
然后以非 TLS 参数启动三个节点,添加 --cert-path 用于证书路径,--key-path 用于私钥路径,--accept-invalid-certificates true。参数 accept-invalid-certificates 允许 rxqlited 接受无效证书。
再次强调,在随后的集群运行中,不需要传递所有初始化参数。只需要提供 node_id(前提是数据目录是默认的 ./data-{node-id},当前版本中这不是一个选项)即可,如 ha-start-cluster.sh 所示。
许可协议
根据您的选择,许可协议为以下之一:
- Apache 许可证 2.0(《LICENSE-APACHE》或 http://www.apache.org/licenses/LICENSE-2.0》)
- MIT 许可证(《LICENSE-MIT》或 http://opensource.org/licenses/MIT》)
任选其一。
贡献
除非您明确声明,否则您有意提交的任何贡献,根据 Apache-2.0 许可证定义,应按照上述规定进行许可,不附加任何额外条款或条件。
依赖
~80–115MB
~2M SLoC