Crate batata_client

Crate batata_client 

Source
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§

BatataClient
Main Batata client
BatataClientBuilder
Builder for BatataClient
CacheConfig
Cache configuration
ClientConfig
Client configuration
TlsConfig
TLS configuration