Expand description
Broker abstraction layer (Kombu-style)
This crate provides the abstract interface for message brokers, inspired by Python’s Kombu library. It defines the core traits that all broker implementations must follow.
§Architecture
- Transport: Low-level broker connection (Redis, AMQP, SQS, Database)
- Producer: Message publishing interface
- Consumer: Message consuming interface
- Queue: Queue abstraction with routing
- BatchProducer: Batch message publishing interface
- BatchConsumer: Batch message consuming interface
- HealthCheck: Health monitoring interface
- Metrics: Metrics collection interface
- Admin: Broker administration interface
Modules§
- utils
- Utility functions for broker operations and analysis.
Structs§
- Adaptive
Timeout Middleware - Adaptive timeout middleware with dynamic timeout adjustment
- Audit
Middleware - Audit middleware for comprehensive audit logging
- Backoff
Middleware - Backoff middleware for automatic retry backoff calculation
- Backpressure
Config - Backpressure configuration for flow control
- Batch
AckHint Middleware - Batch acknowledgment hint middleware
- Batch
Publish Result - Result of a batch publish operation
- Batching
Middleware - Batching middleware for automatic message batching
- Binding
Config - Queue binding configuration
- Broker
Metrics - Broker metrics
- Bulkhead
Middleware - Bulkhead middleware for limiting concurrent operations per partition
- Caching
Middleware - Caching middleware for storing message processing results
- Circuit
Breaker Config - Circuit breaker configuration
- Circuit
Breaker Middleware - Circuit breaker middleware for fault tolerance
- Circuit
Breaker Stats - Circuit breaker statistics
- Consumer
Group Config - Consumer group configuration
- Content
Type Middleware - Middleware for content type validation and conversion hints.
- Correlation
Middleware - Correlation middleware for distributed tracing
- Cost
Attribution Middleware - Cost attribution middleware - track costs per tenant/project
- Deadline
Middleware - Middleware for enforcing hard deadlines on message processing.
- Deduplication
Middleware - Deduplication middleware - prevents duplicate message processing
- DlqConfig
- Dead Letter Queue (DLQ) configuration
- DlqStats
- Dead Letter Queue statistics
- Envelope
- Message envelope (message + metadata)
- Error
Classification Middleware - Error classification middleware for intelligent error routing
- Exchange
Config - Exchange configuration
- Filter
Middleware - Filter middleware - filters messages based on custom criteria
- Health
Check Middleware - Health check middleware - automatic health status tracking
- Health
Check Response - Detailed health check response
- Idempotency
Middleware - Idempotency middleware for ensuring exactly-once message processing
- Load
Shedding Middleware - Load shedding middleware for graceful degradation under pressure
- Logging
Middleware - Logging middleware - logs message events
- Message
Enrichment Middleware - Message enrichment middleware - automatically adds metadata
- Message
Options - Message-level options
- Message
Priority Escalation Middleware - Message priority escalation middleware
- Message
Tagging Middleware - Message tagging middleware - automatic message tagging and categorization
- Message
Versioning Middleware - Message versioning middleware - handle message schema versions
- Metrics
Middleware - Metrics middleware - collects message statistics
- Middleware
Chain - Middleware chain for processing messages
- Mock
Broker - Mock broker for testing
- Observability
Middleware - Observability middleware for structured logging and metrics
- Partitioning
Middleware - Partitioning middleware for distributed load balancing
- Poison
Message Detector - Poison message detector - identifies repeatedly failing messages
- Pool
Config - Connection pool configuration
- Pool
Stats - Pool statistics
- Priority
Boost Middleware - Queue
Config - Queue configuration
- Queue
Info - Queue information
- Quota
Config - Quota configuration
- Quota
Usage - Quota usage statistics
- Rate
Limiting Middleware - Rate limiting middleware - enforces message rate limits
- Replay
Config - Replay configuration
- Replay
Progress - Replay progress information
- Resource
Quota Middleware - Resource quota middleware - enforce per-consumer resource limits
- Retry
Limit Middleware - Retry limit middleware - enforces maximum retry count
- Retry
Policy - Retry policy for connection attempts
- Retry
Strategy Middleware - Retry strategy middleware - implements different retry strategies
- Routing
KeyMiddleware - Middleware for dynamic routing key assignment.
- SLAMonitoring
Middleware - SLA monitoring middleware - track and enforce SLA requirements
- Sampling
Middleware - Sampling middleware for statistical message sampling.
- Schedule
Config - Schedule configuration for delayed message delivery
- Scheduled
Message - Scheduled message information
- Schema
Validation Middleware - Schema validation middleware - validates message structure and content
- Tenant
Isolation Middleware - Tenant isolation middleware - provides multi-tenancy support
- Throttling
Middleware - Throttling middleware with backpressure support
- Timeout
Middleware - Timeout middleware - enforces message processing time limits
- Tracing
Middleware - Tracing middleware for distributed tracing
- Transformation
Middleware - Transformation middleware for message content transformation.
- Validation
Middleware - Validation middleware - validates message structure
Enums§
- Broker
Error - Broker errors
- Circuit
State - Circuit breaker state
- Connection
Event - Connection event
- Connection
State - Connection state
- Error
Class - Error classification categories
- Exchange
Type - Exchange type for AMQP-style brokers
- Health
Status - Health status of a broker
- Isolation
Level - Transaction isolation level
- Priority
- Priority levels for messages
- Queue
Mode - Queue mode
- Quota
Enforcement - Quota enforcement action
- Retry
Strategy - Retry strategy for intelligent retry handling
- Transaction
State - Transaction state
Traits§
- Admin
- Admin trait for broker administration
- Batch
Consumer - Batch consumer trait (batch message consuming)
- Batch
Producer - Batch producer trait (batch message publishing)
- Broker
- Full broker trait (combines producer and consumer)
- Circuit
Breaker - Circuit breaker trait
- Connection
Observer - Connection state observer trait
- Connection
Pool - Connection pool trait
- Consumer
- Consumer trait (message consuming)
- Consumer
Group - Consumer group trait for load-balanced consumption
- Dead
Letter Queue - Dead Letter Queue trait for handling failed messages
- Extended
Producer - Extended producer trait with message options support
- Health
Check - Health check trait for brokers
- Message
Middleware - Message middleware for pre/post processing
- Message
Replay - Message replay trait for debugging and recovery
- Message
Scheduler - Message scheduler trait for delayed delivery
- Message
Transaction - Message transaction trait for atomic operations
- Metrics
Provider - Metrics provider trait
- Middleware
Consumer - Consumer with middleware support
- Middleware
Producer - Producer with middleware support
- Producer
- Producer trait (message publishing)
- Quota
Manager - Quota management trait
- Transport
- Transport trait (low-level broker connection)
Type Aliases§
- Priority
Boost Fn - Priority boost middleware for dynamic priority adjustment
- Result