AWS Certified Big Data - Specialty (#71)

An organization has added a clickstream to their website to analyze traffic. The website is sending each page request with the

PutRecord

API call to an Amazon Kinesis stream by using the page name as the partition key. During peak spikes in website traffic, a support engineer notices many

ProvisionedThroughputExcededException

events in the application logs.

What should be done to resolve the issue in the MOST cost-effective way?

Create multiple Amazon Kinesis streams for page requests to increase the concurrency of the clickstream.
Increase the number of shards on the Kinesis stream to allow for more throughput to meet the peak spikes in traffic.
Modify the application to use on the Kinesis Producer Library to aggregate requests before sending them to the Kinesis stream.
Attach more consumers to the Kinesis stream to process records in parallel, improving the performance on the stream.