DEV Community

Lasantha Sanjeewa Silva for AWS Community Builders

Posted on • Updated on

Amazon Kinesis Services & Kinesis Data Streams Enhanced Fan-Out feature

Day7

[7/30] #30DaysOfAWS Today, Amazon Kinesis Services & Kinesis Data Streams Enhanced Fan-Out feature.

Amazon Kinesis is a fully managed service provided by Amazon Web Services (AWS) that enables real-time streaming and processing of large amounts of data. It is designed to collect, analyze, and process data streams in real time, allowing businesses to derive insights and take immediate action.

With Amazon Kinesis, you can ingest and process streaming data from various sources such as website clickstreams, IoT devices, social media feeds, server logs, and more. It provides a scalable and durable platform for handling massive data throughput, making it suitable for applications with high data volume and low latency requirements.

Amazon Kinesis consists of several components

  • Amazon Kinesis Data Streams: It is the core component of Kinesis and allows you to collect and process large streams of data in real time. Data is divided into shards, which are units of data capacity. Each shard can ingest data at a certain rate, and multiple shards can be used for parallel processing.

  • Amazon Kinesis Data Firehose: This component enables you to load streaming data into other AWS services or external systems for further processing or storage. It can automatically transform and deliver data to destinations such as Amazon S3, Amazon Redshift, Amazon Elasticsearch Service, and more.

  • Amazon Kinesis Data Analytics: It allows you to run real-time analytics on streaming data using standard SQL queries. You can easily process and gain insights from data streams without requiring complex application code.

  • Amazon Kinesis Video Streams: This component is specifically designed for working with video streams. It makes it easier to securely stream, store, and process video data from connected devices and cameras.

Overall, Amazon Kinesis provides a powerful and scalable solution for building real-time applications, performing real-time analytics, and enabling near-instantaneous decision-making based on streaming data.

Kinesis Data Streams Enhanced Fan-Out feature

The Kinesis Data Streams Enhanced Fan-Out feature is a capability of Amazon Kinesis Data Streams that allows you to achieve higher data ingestion rates and lower end-to-end latency for real-time streaming applications. It provides an optimized way to consume data from a Kinesis data stream by allowing multiple consumers to read data from the same shard simultaneously.

In a traditional Kinesis Data Streams setup, a single consumer (such as an application or Lambda function) reads data from a shard. This means that if you need to scale your application or have multiple consumers reading the same data stream concurrently, you would need to create multiple shards and divide the incoming data among them. However, this can result in increased complexity and higher costs.

With Enhanced Fan-Out, you can overcome these limitations by allowing multiple consumers to directly read data from the same shard without the need for shard splitting. Each consumer can maintain its own position in the shard and read data independently, which improves scalability and reduces the need for manual shard management.

The Enhanced Fan-Out feature uses an HTTP/2-based server push model to deliver data to consumers. It supports low-latency data delivery, providing data records to consumers in near real-time. This is particularly beneficial for applications that require immediate processing and responsiveness, such as real-time analytics, monitoring, and alerting systems.

By leveraging the Enhanced Fan-Out feature, you can simplify your architecture, reduce costs by avoiding the need for excessive shards, and achieve higher throughput and lower end-to-end latency for your streaming applications.

Read More - URL

Amazon Kinesis Workshop (Get hands-on) - URL

Thanks for reading the Article.

Top comments (0)