Tick-Bank Web Traffic Analytics with Kinesis Streams

Consumer Activities using KCL Library

Question

Tick-Bank is a privately held Internet retailer of both physical and digital products founded in 2008

The company has more than six-million clients worldwide.

Tick-Bank aims to serve as a connection between digital content makers and affiliate dealers, who then promote them to clients.

Tick-Bank's technology aids in payments, tax calculations and a variety of customer service tasks.

Tick-Bank assists in building perceptibility and revenue making opportunities for entrepreneurs. Tick-Bank runs multiple java based web applications running on windows based EC2 machines in AWS managed by internal IT Java team, to serve various business functions.

Tick-Bank is looking to enable web-site traffic analytics there by understanding user navigational behavior, preferences and other click related info.

The amount of data captured per click is in tens of bytes.

Tick-Bank has the following objectives in mind for the solution. Tick-Bank has multiple Kinesis Streams supporting various business processes and uses enhanced fan out consumers to fulfill processing of data.

What kind of activities are performed by the consumers using KCL library.

Select 4 options.

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D. E. F.

Answer: A, B,C,D.

The KCL acts as an intermediary between your record processing logic and Kinesis Data Streams.

When you start a KCL application, it calls the KCL to instantiate a worker.

This call provides the KCL with configuration information for the application, such as the stream name and AWS credentials.

The KCL performs the following tasks:

Connects to the stream.

Enumerates the shards.

Coordinates shard associations with other workers (if any)

Instantiates a record processor for every shard it manages.

Pulls data records from the stream.

Pushes the records to the corresponding record processor.

Checkpoints processed records.

Balances shard-worker associations when the worker instance count changes.

Balances shard-worker associations when shards are split or merged.

https://docs.aws.amazon.com/streams/latest/dev/developing-consumers-with-kcl.html

Tick-Bank is looking to enable web-site traffic analytics to understand user navigational behavior, preferences, and other click-related information. They have multiple Kinesis Streams supporting various business processes and use enhanced fan-out consumers to fulfill the processing of data. The KCL (Kinesis Client Library) is a set of software libraries provided by Amazon Web Services (AWS) to help developers process data from Kinesis streams effectively.

The activities performed by the consumers using KCL library are:

A. Connects to the stream: The consumer application using the KCL library connects to the Kinesis stream(s) from which it wants to read data. The KCL library takes care of establishing and maintaining the connection between the consumer application and the Kinesis stream.

B. Enumerates the shards: A Kinesis stream is divided into one or more shards. The KCL library helps the consumer application to enumerate the shards in the stream. This enables the application to distribute the load of processing data from the stream across multiple worker processes.

C. Checkpoints processed records: The KCL library tracks the progress of the consumer application as it reads data from the Kinesis stream. It keeps track of the records that have been successfully processed by the application. The KCL library then checkpoints this information in a DynamoDB table. In case of any failure, the application can restart from the point where it left off by reading from the DynamoDB table.

D. Balances shard-worker associations when shards are split or merged: The Kinesis stream can change over time, and shards can be split or merged. The KCL library helps the consumer application to adapt to these changes. It balances the association between the shards and worker processes. The KCL library does this by managing the lease on a shard by worker process basis.

E. Connects to shards: The consumer application using the KCL library can connect to one or more shards to read data from the Kinesis stream. The KCL library takes care of establishing and maintaining the connection between the consumer application and the shard.

F. Enumerates multiple streams: The KCL library helps the consumer application to enumerate multiple Kinesis streams. This enables the application to process data from multiple streams in parallel. The KCL library takes care of managing the connections to these streams and balancing the load of processing data from these streams across multiple worker processes.

In summary, the KCL library helps consumer applications to connect to Kinesis streams, enumerate shards and streams, process data from the stream, and adapt to changes in the stream over time.