Correct answer - "SNS + SQS" : SNS and SQS can be used to create a fanout messaging scenario in
which messages are "pushed" to multiple subscribers, which eliminates the need to periodically
check or poll for updates and enables parallel asynchronous processing of the message by the
subscribers. SQS can allow for later re-processing and dead letter queues. This is called the
fan-out pattern
"SNS + Kinesis" - You can use Amazon Kinesis Data Streams to collect and process large streams of
data records in real time. The only issue is that the retention day period is 7 days, and
processing issues would completely block all future messages.
"SNS + Lambda" - Amazon SNS and AWS Lambda are integrated so you can invoke Lambda functions with
Amazon SNS notifications. The Lambda function receives the message payload as an input parameter
and can manipulate the information in the message, publish the message to other SNS topics, or
send the message to other AWS services. However, your EC2 instances cannot "poll" from Lambda
functions and as such this would not work.
"SQS + SES" - This will not work as the messages need to be processed twice, and SQS only allows
for one consuming application.
For more information visit