Which solution will meet these requirements?
Use a data stream in Amazon Kinesis Data Streams in on-demand mode to capture the clickstream data. Use AWS Lambda to process the data in real time.
Use Amazon Kinesis Data Firehose to capture the clickstream data. Use AWS Glue to process the data in real time.
Use Amazon Kinesis Video Streams to capture the clickstream data. Use AWS Glue to process the data in real time.
Use Amazon Managed Service for Apache Flink (previously known as Amazon Kinesis Data Analytics) to capture the clickstream data. Use AWS Lambda to process the data in real time.
Explanations:
Amazon Kinesis Data Streams in on-demand mode allows for scalable, real-time data ingestion of clickstream data. Coupled with AWS Lambda, which can process this data in real time, it effectively handles fluctuating traffic patterns, making it a suitable choice.
While Amazon Kinesis Data Firehose can capture streaming data, it is primarily used for loading data into AWS services like S3 or Redshift, and does not provide real-time processing capabilities. AWS Glue is more suited for batch processing rather than real-time analysis, which does not meet the requirements.
Amazon Kinesis Video Streams is designed for streaming video data, not clickstream data. Therefore, this option is not relevant to capturing user clickstream data. AWS Glue’s batch processing is also not appropriate for real-time requirements.
Amazon Managed Service for Apache Flink is suitable for real-time analytics, but it does not directly capture clickstream data. It relies on data sources like Kinesis Data Streams or Firehose for ingestion. Therefore, it does not fully meet the requirement of capturing the clickstream data itself.