Check out the docs at Apache Kafka web site: http://kafka.apache.org/documentation/streams/
Sub-pages:
- Using Kafka Streams:
- Development:
- Internals:
Find more links about Kafka Streams at Kafka Ecosystem page.
Kafka Streams related KIPs:
Accepted
- future release Kafka 2.2:
- KIP-149: Enabling key access in ValueTransformer, ValueMapper, and ValueJoiner (partially implemented in v1.1)
- KIP-150 - Kafka-Streams Cogroup
- upcoming release Kafka 2.1:
- KIP-206: Add support for UUID serialization and deserialization
- KIP-312: Add Overloaded StreamsBuilder Build Method to Accept java.util.Properties
KIP-313: Add KStream.flatTransform and KStream.flatTransformValues
KIP-319: Replace segments with segmentInterval in WindowBytesStoreSupplier
KIP-321: Update TopologyDescription to better represent Source and Sink Nodes
KIP-331 Add default implementation to close() and configure() for Serializer, Deserializer and Serde
KIP-365: Materialized, Serialized, Joined, Consumed and Produced with implicit Serde
KIP-358: Migrate Streams API to Duration instead of long ms times
- Kafka 2.0:
- KIP-244: Add Record Header support to Kafka Streams Processor API
- KIP-245: Use Properties instead of StreamsConfig in KafkaStreams constructor
- KIP-251: Allow timestamp manipulation in Processor API
- KIP-261: Add Single Value Fetch in Window Stores
- KIP-265: Make Windowed Serde to public APIs
- KIP-267: Add Processor Unit Test Support to Kafka Streams Test Utils
- KIP-268: Simplify Kafka Streams Rebalance Metadata Upgrade
- KIP-270 - A Scala Wrapper Library for Kafka Streams
- KIP-274: Kafka Streams Skipped Records Metrics
- KIP-276 Add StreamsConfig prefix for different consumers
- KIP-284: Set default retention ms for Streams repartition topics to Long.MAX_VALUE
- KIP-292: Add transformValues() method to KTable
- KIP-295 Add Streams Configuration Allowing for Optional Topology Optimization
- KIP-303: Add Dynamic Routing in Streams Sink
- Kafka 1.1:
- KIP-149: Enabling key access in ValueTransformer, ValueMapper, and ValueJoiner (partially implemented in v1.1)
- KIP-171 - Extend Consumer Group Reset Offset for Stream Application
- KIP-205: Add all() and range() API to ReadOnlyWindowStore
- KIP-210 - Provide for custom error handling when Kafka Streams fails to produce
- KIP-220: Add AdminClient into Kafka Streams' ClientSupplier
- KIP-224: Add configuration parameter `retries` to Streams AP
- KIP-233: Simplify StreamsBuilder#addGlobalStore
- Kafka 1.0:
- KIP-120: Cleanup Kafka Streams builder API
- KIP 130: Expose states of active tasks to KafkaStreams public API
- KIP-138: Change punctuate semantics
- KIP 157 - Add consumer config options to streams reset tool
- KIP-160: Augment KStream.print(), KStream.writeAsText() to allow users pass in extra parameters in the printed string
- KIP-161: streams deserialization exception handlers
- KIP-167: Add interface for the state store restoration process
- KIP-173: Add prefix to StreamsConfig to enable setting default internal topic configs
- KIP-182: Reduce Streams DSL overloads and allow easier use of custom storage engines
- KIP-198: Remove ZK dependency from Streams Reset Tool
- KIP-202 Move merge() from StreamsBuilder to KStream
- Kafka 0.11.0:
- KIP-114: KTable state stores and improved semantics
- KIP-123: Allow per stream/table timestamp extractor
- KIP-121: Add KStream peek method
- KIP-129: Streams Exactly-Once Semantics
- KIP-134: Delay initial consumer group rebalance
- KIP 155 - Add range scan for windowed state stores
- KIP 156 Add option "dry run" to Streams application reset tool
- Kafka 0.10.2:
- KIP-77: Improve Kafka Streams Join Semantics
- KIP-90: Remove zkClient dependency from Streams
- KIP-93: Improve invalid timestamp handling in Kafka Streams
- KIP-94: Session Windows
- KIP-97: Improved Kafka Client RPC Compatibility Policy
- KIP-99: Add Global Tables to Kafka Streams
- KIP-100: Relax Type constraints in Kafka Streams API
- KIP-104: Granular Sensors for Streams
Kafka 0.10.1:
Kafka 0.10.0:
Under discussion
- KIP-159: Introducing Rich functions to Streams
- KIP-165: Extend Interactive Queries for return latest update timestamp per key
- KIP-213 Support non-key joining in KTable
- KIP-216: IQ should throw different exceptions for different errors
- KIP-221: Repartition Topic Hints in Streams
- KIP-228 Negative record timestamp support
- KIP 230: Name Windowing Joins
- KIP-258: Allow to Store Record Timestamps in RocksDB
- KIP-262: Metadata should include number of state stores for task
- KIP-300: Add Windowed KTable API in StreamsBuilder
- KIP-307: Allow to define custom processor names with KStreams DSL
- KIP-311: Async processing with dynamic scheduling in Kafka Streams
KIP-364: Remove implicit Materialized, Consumed and Produced
KIP-378: Enable Dependency Injection for Kafka Streams handlers
Inactive:
Discarded:
- KIP-116: Add State Store Checkpoint Interval Configuration
- KIP-132: Augment KStream.print to allow extra parameters in the printed string (duplicated by KIP-160)
- KIP-147: Add missing type parameters to StateStoreSupplier factories and KGroupedStream/Table methods (covered by KIP-182)