Question 25: You are having an application which receives IOT data from various electronics consumer devices which delivers this data to KPL (Kinesis Producer Library) and another host which is consuming Kinesis Data

Stream using KCL (Kinesis Client Library) working fine. On the daily basis new consumer electronics devices are being added in your IOT network and more data needs to be ingested. Now suddenly one day KCL based client

application is getting provisioned throughput errors. How can you solve this problem?

1. You will be increasing the number of shards.

2. You will put KPL and KCL application instances in a placement groups.

3. You will be increasing the throughput for the DynamoDB tables.

4. You will be putting KPL and KCL instances in the same VPC.

Correct Answer : 3 Exp : You know, KCL based application uses the DynamoDB table to keep track of the Client KCL application. KCL uses the name of the application to create the table in the DynbamoDB table. Hence,

your application name must be unique.

If DynamoDB table does not exist then one of the worker will create the application and call describeStream method to populate the table.

As per AWS instructions

If your Amazon Kinesis Data Streams application receives provisioned-throughput exceptions, you should increase the provisioned throughput for the DynamoDB table. The KCL creates the table with a provisioned

throughput of 10 reads per second and 10 writes per second, but this might not be sufficient for your application. For example, if your Amazon Kinesis Data Streams application does frequent checkpointing or operates

on a stream that is composed of many shards, you might need more throughput.

Hence, same thing is asked in the question and based on that option-3 is correct one.

3