A company has an application that ingests incoming messages. These messages are then quickly consumed by dozens of other applications and microservices. The number of messages varies drastically and sometimes spikes as high as 100.000 each second. The company wants to decouple the solution and increase scalability.
Which solution meets these requirements?
A . Persist the messages to Amazon Kinesis Data Analytics All the applications will read and process the messages
B . Deploy the application on Amazon EC2 instances in an Auto Scaling group, which scales the number of EC2 instances based on CPU metrics
C . Write the messages to Amazon Kinesis Data Streams with a single shard. All applications will read from the stream and process the messages.
D . Publish the messages to an Amazon Simple Notification Service (Amazon SNS) topic with one or more Amazon Simple Queue Service (Amazon SQS) subscriptions. All applications then process the messages from the queues
Answer: C