- Generic
Record<T>,StreamElement<T>with inline watermarks and checkpoint barriers Operator,Collector,Source,Sinktraits- Built-in operators:
Map,Filter,FlatMap EventTimestamp,PipelineConfig, error types
- DAG-based logical graph with topological scheduling
TaskExecutorhot loop with synchronous operator processing- Bounded mpsc channels and lock-free SPSC ring buffers
- Hash/Forward/Broadcast/Rebalance partitioning strategies
- Watermark propagation across multi-input operators
- Chandy-Lamport checkpointing:
BarrierAligner,CheckpointCoordinator,SnapshotStore - Physical graph with Spread/Pack scheduling strategies
- CPU core pinning (behind
perffeature) - Criterion benchmarks for throughput, latency, and serde
- Fluent builder:
map,filter,flat_map,key_by,window,aggregate,add_sink StreamExecutionEnvironmentwith config and cancellation token supportInMemorySource,CollectionSource,PrintSink
TumblingWindow,SlidingWindowassignersCountTrigger,EventTimeTrigger,ProcessingTimeTriggerWindowOperatorwith key buffer pool optimization
ValueState,ListState,MapStatetraitsMemoryStateBackendwith per-key scoping- State snapshot/restore via serialization
- Kafka —
KafkaSource/KafkaSinkwith offset commit and flush-on-checkpoint - TCP —
TcpSource/TcpSinkwith line-delimited framing - File —
FileSource/FileSinkfor replay and rotating output
- gRPC proto definitions for JobManager, TaskManager, and DataExchange services
JobManagerServiceImpl/TaskManagerServiceImplwith event-driven architectureJmClient/TmClientfor RPC callsResourceManagerfor TM registration, heartbeats, and dead detectionExchangeRouterwith credit-based flow controlNetworkCollector<T>(serialization + batching) andNetworkInput<T>(deserialization)ConnectionManagerfor gRPC connection poolingSlotManagerfor TM execution slot lifecycle
flume-serverbinary with REST API (axum) and optional JM gRPC modeflume-tmbinary for standalone TaskManager processesflume-clifor job submission, status, listing, cancellation, and health checks- Job registry pattern for compile-time job factory registration
- Job reaper for automatic status transitions
- TOML configuration with env var overlay
GET /api/v1/taskmanagersendpoint for cluster visibility
- Structured logging with
tracing(JSON output support) - Prometheus metrics exposition
- Graceful shutdown via
CancellationToken+ SIGINT/SIGTERM TestHarnessfor operator unit testing- Property-based tests with
proptestfor serde roundtrips
- GitHub Actions: fmt, clippy, cargo-deny, check, test, integration tests, coverage
- Multi-stage Dockerfile with distroless runtime images
- GHCR publish workflow (tag/manual trigger)