- PHP 客户端 (kenaito-conf-php-client) - .NET 客户端 (kenaito-conf-dotnet-client) - C 客户端 (kenaito-conf-c-client) - C++ 客户端 (kenaito-conf-cpp-client) - Lua 客户端 (kenaito-conf-lua-client) - Kotlin 客户端 (kenaito-conf-kotlin-client) - Rust 客户端 (kenaito-conf-rust-client) - Ruby 客户端 (kenaito-conf-ruby-client) 每个客户端包含完整的 SDK 实现和 demo 示例,支持: - 配置拉取(全量/增量) - AES-128-CBC 解密 - 本地缓存 - 变更回调 - Token 认证 更新根目录 README.md: - 技术栈列表新增 8 种语言 - 项目结构新增 16 个目录 - 客户端接入章节新增 8 个使用示例
1.4 KiB
1.4 KiB
Kenaito Config Center Rust Client
Rust 语言的配置中心客户端 SDK。
依赖
- Rust 1.70+
- reqwest (HTTP 客户端)
- tokio (异步运行时)
- aes + cbc (AES 解密)
安装
在 Cargo.toml 中添加:
[dependencies]
kenaito-conf = { path = "../kenaito-conf-rust-client" }
使用
use kenaito_conf::{Config, ConfigClient};
#[tokio::main]
async fn main() {
let config = Config {
base_url: "http://localhost:8080".to_string(),
app_name: "kenaito-springboot-demo".to_string(),
env: "daily".to_string(),
version: "latest".to_string(),
sync_interval: 30,
..Default::default()
};
let client = ConfigClient::new(config);
client.on_change(|changed| {
for (k, v) in changed.iter() {
println!("config changed: {} = {}", k, v);
}
});
client.start().await.unwrap();
let value = client.get("database.host");
let all = client.get_all();
}
配置参数
| 参数 | 说明 | 默认值 |
|---|---|---|
base_url |
配置中心地址 | 必填 |
app_name |
应用名称 | 必填 |
env |
环境 | dev |
version |
配置版本 | latest |
token |
认证令牌 | 空 |
sync_interval |
同步间隔(秒) | 60 |
ignore_global |
是否忽略全局配置 | false |
cache_dir |
本地缓存目录 | . |
Demo
cd kenaito-conf-rust-client-demo
cargo run