pub struct ConsumerConfig {Show 16 fields
pub bootstrap_servers: Vec<String>,
pub group_id: String,
pub topics: Vec<String>,
pub partitions: HashMap<String, Vec<u32>>,
pub max_poll_records: u32,
pub max_poll_interval_ms: u64,
pub auto_commit_interval: Option<Duration>,
pub isolation_level: u8,
pub auth: Option<ConsumerAuthConfig>,
pub metadata_refresh_interval: Duration,
pub reconnect_backoff_ms: u64,
pub reconnect_backoff_max_ms: u64,
pub max_reconnect_attempts: u32,
pub session_timeout_ms: u32,
pub rebalance_timeout_ms: u32,
pub heartbeat_interval_ms: u64,
}Expand description
Configuration for the high-level consumer.
Fields§
§bootstrap_servers: Vec<String>Bootstrap server addresses (host:port).
On initial connect and reconnect, the consumer tries each server in round-robin order until one succeeds. Accepts a single server or multiple for failover.
group_id: StringConsumer group ID for offset management
topics: Vec<String>Topics to subscribe to
partitions: HashMap<String, Vec<u32>>Explicit partition assignments (topic → partitions). If empty, all partitions of each subscribed topic are consumed.
max_poll_records: u32Maximum messages per partition per poll
max_poll_interval_ms: u64Long-poll wait time in milliseconds (0 = immediate return)
auto_commit_interval: Option<Duration>Auto-commit interval (None = manual commit only)
isolation_level: u8Transaction isolation level (0 = read_uncommitted, 1 = read_committed)
auth: Option<ConsumerAuthConfig>Authentication credentials (optional)
metadata_refresh_interval: DurationInterval for re-discovering partition assignments (default: 5 min).
Set to Duration::MAX to disable periodic re-discovery.
reconnect_backoff_ms: u64Initial reconnect backoff delay in milliseconds (default: 100)
reconnect_backoff_max_ms: u64Maximum reconnect backoff delay in milliseconds (default: 10 000)
max_reconnect_attempts: u32Maximum number of reconnect attempts before giving up (default: 10)
session_timeout_ms: u32Session timeout for group coordination in milliseconds (default: 10 000). If the coordinator does not receive a heartbeat within this interval, it considers the member dead and triggers a rebalance.
rebalance_timeout_ms: u32Rebalance timeout in milliseconds (default: 30 000). Maximum time the coordinator waits for all members to join during a rebalance.
heartbeat_interval_ms: u64Heartbeat interval in milliseconds (default: 3 000).
Should be no more than 1/3 of session_timeout_ms.
Implementations§
Source§impl ConsumerConfig
impl ConsumerConfig
pub fn builder() -> ConsumerConfigBuilder
Trait Implementations§
Source§impl Clone for ConsumerConfig
impl Clone for ConsumerConfig
Source§fn clone(&self) -> ConsumerConfig
fn clone(&self) -> ConsumerConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more