Expand description
Batata Client - Rust client for Batata/Nacos service discovery and configuration management
§Overview
Batata Client provides a Rust SDK for interacting with Batata/Nacos servers, supporting:
- Configuration management (get, publish, remove, listen)
- Service discovery (register, deregister, query, subscribe)
§Quick Start
use batata_client::{BatataClient, ClientConfig};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
// Create client
let client = BatataClient::builder()
.server_addr("localhost:8848")
.namespace("public")
.build()
.await?;
// Get configuration
let config_service = client.config_service();
let content = config_service.get_config("my-config", "DEFAULT_GROUP").await?;
println!("Config: {}", content);
// Register service
let naming_service = client.naming_service();
naming_service.register_instance_simple("my-service", "127.0.0.1", 8080).await?;
// Shutdown
client.shutdown().await;
Ok(())
}Re-exports§
pub use api::config::ConfigBatchListenRequest;pub use api::config::ConfigChangeBatchListenResponse;pub use api::config::ConfigChangeNotifyRequest;pub use api::config::ConfigInfo;pub use api::config::ConfigListenContext;pub use api::config::ConfigPublishRequest;pub use api::config::ConfigPublishResponse;pub use api::config::ConfigQueryRequest;pub use api::config::ConfigQueryResponse;pub use api::config::ConfigRemoveRequest;pub use api::config::ConfigRemoveResponse;pub use api::config::ConfigSearchRequest;pub use api::config::ConfigSearchResponse;pub use api::config::ConfigSearchItem;pub use api::naming::BatchInstanceRequest;pub use api::naming::BatchInstanceResponse;pub use api::naming::Instance;pub use api::naming::InstanceRequest;pub use api::naming::InstanceResponse;pub use api::naming::QueryServiceResponse;pub use api::naming::Service;pub use api::naming::ServiceListRequest;pub use api::naming::ServiceListResponse;pub use api::naming::ServiceQueryRequest;pub use api::naming::SubscribeServiceRequest;pub use api::naming::SubscribeServiceResponse;pub use api::remote::RequestTrait;pub use api::remote::ResponseTrait;pub use auth::AccessToken;pub use auth::AuthManager;pub use auth::Credentials;pub use cache::FileCache;pub use config::ConfigChangeEvent;pub use config::ConfigChangeType;pub use config::ConfigListener;pub use config::ConfigService;pub use error::BatataError;pub use error::Result;pub use naming::LoadBalancer;pub use naming::NamingService;pub use naming::RandomBalancer;pub use naming::ServiceChangeEvent;pub use naming::ServiceListener;pub use naming::WeightedRoundRobinBalancer;pub use remote::RpcClient;pub use common::constants::*;
Modules§
- api
- auth
- cache
- common
- config
- crypto
- Cryptography module for KMS and encryption support
- error
- logging
- Logging configuration module
- naming
- prelude
- remote
Structs§
- Batata
Client - Main Batata client
- Batata
Client Builder - Builder for BatataClient
- Cache
Config - Cache configuration
- Client
Config - Client configuration
- TlsConfig
- TLS configuration