1 个不稳定版本
0.1.0 | 2021 年 1 月 27 日 |
---|
#16 在 #zookeeper
410KB
2K SLoC
buruma
用纯 Rust 编写的面向人类的 ZooKeeper 客户端
lib.rs
:
buruma 是一个使用纯 Rust 编写的 ZooKeeper 异步客户端,基本实现了 Java 版官方客户端的功能
引入依赖
[dependencies.buruma]
version = "*"
基本操作
buruma 支持低级的基本接口以及高级的高级接口,并在 recipe 模块下提供了一些分布式环境下的工具
简单示例
extern crate buruma;
use buruma::ZooKeeper;
use buruma::ZKResult;
use std::time::Duration;
use buruma::CreateMode;
use buruma::ACL;
#[tokio::main]
async fn main() -> ZKResult<()> {
let mut zk = ZooKeeper::new("127.0.0.1:2181", Duration::from_secs(5)).await.unwrap();
let basic_path = "/buruma";
// 创建节点
let path = zk
.create(basic_path, Some("buruma".as_bytes()), ACL::world_acl(), CreateMode::Persistent)
.await
.unwrap();
// 查询节点
let result = zk.get(basic_path, None).await.unwrap();
// 设置节点数据
let stat = zk.set(basic_path, "kaixinbaba".as_bytes()).await.unwrap();
// 删除节点
zk.delete(basic_path);
Ok(())
}
依赖项
~7–17MB
~183K SLoC