A Java library for building efficient and reliable producer applications for Amazon Kinesis Data Streams.
The Amazon Kinesis Producer Library (KPL) is a Java library that simplifies building high-performance, reliable data producers for Amazon Kinesis Data Streams. It abstracts low-level streaming complexities by handling tasks like automatic batching, retry logic, shard discovery, and back-pressure management, allowing developers to focus on application logic.
Java developers building data ingestion pipelines for Amazon Kinesis Data Streams, particularly those needing high throughput, reliability, and operational simplicity. It is suited for teams managing streaming data from applications, IoT devices, or logs into KDS.
Developers choose KPL over manual implementations because it provides a robust, scalable foundation with built-in optimizations like batching for cost efficiency, configurable retries for reliability, and automatic shard discovery for stream scalability, reducing development time and operational overhead.
Amazon Kinesis Producer Library
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Aggregates multiple user records into fewer Kinesis records, reducing costs and improving throughput, as highlighted in the key features for optimizing data ingestion.
Implements configurable retries with backoff for failed PutRecords requests, enhancing reliability without manual intervention, as specified in the README's features.
Uses the ListShards API to efficiently adapt to stream scaling events, supporting 100 TPS per stream compared to 10 TPS with DescribeStream, per the version 0.14.0 update notes.
Emits CloudWatch metrics for visibility into producer performance and buffer health, enabling proactive management of streaming pipelines.
Requires developers to add custom back-pressure logic to prevent memory exhaustion and crashes, as the README warns that the KPL can consume enough memory to crash itself without proper safeguards.
KPL 0.x is reaching end-of-support in 2026, forcing users to migrate to 1.x, which adds operational burden despite claims of backward compatibility, as noted in the important notice.
Windows support was discontinued from version 0.14.0, restricting deployment options for teams using Windows-based infrastructure.