26 个版本 (2 个稳定版本)
1.0.1 | 2023年4月10日 |
---|---|
1.0.0 | 2022年11月23日 |
1.0.0-alpha.3 | 2022年10月23日 |
1.0.0-alpha.1 | 2022年4月14日 |
0.0.0 | 2018年12月26日 |
在 认证 中排名 263
每月下载量 81 次
用于 sentinel-core
72KB
2K SLoC
etcd 的 Rust 客户端
一个由 etcd (API v3) 提供支持的 Rust 客户端,由 tokio 和 tonic 支持。
支持的 API
- KV
- Put
- Range
- Delete
- Transaction
- Compact
- Lease
- Grant
- Revoke
- KeepAlive
- TimeToLive
- Watch
- WatchCreate
- WatchCancel
- Auth
- Authenticate
- RoleAdd
- RoleGrantPermission
- UserAdd
- UserGrantRole
- AuthEnable
- AuthDisable
- Cluster
- MemberAdd
- MemberRemove
- MemberUpdate
- MemberList
- Maintenance
- Alarm
- Status
- Defragment
- Hash
- Snapshot
- MoveLeader
Usage
在项目的 cargo.toml
中添加以下依赖
[dependencies]
etcd-rs = "1.0"
use etcd_rs::Client;
#[tokio::main]
async fn main() {
let cli = Client::connect(ClientConfig {
endpoints: [
"http://127.0.0.1:12379",
"http://127.0.0.1:22379",
"http://127.0.0.1:32379",
],
..Default::default()
}).await;
cli.put(("foo", "bar")).await.expect("put kv");
let kvs = cli.get("foo").await.expect("get kv").take_kvs();
assert_eq!(kvs.len(), 1);
}
开发
要求
- Makefile
- docker
- docker-compose
启动本地 etcd 集群
make setup-etcd-cluster
停止集群
make teardown-etcd-cluster
运行测试
make test
针对特定用例
TEST_CASE=test_put_error make test-one
许可证
本项目采用 MIT 许可证 许可。
依赖关系
~5–15MB
~199K SLoC