Question

Difficulty: MediumDecoupling Architectures and Event-Driven Messaging

A real estate listing platform needs to process property status update events, such as 'Active', 'Under Contract', and 'Sold'. These events must be processed in strict chronological order per property to prevent data inconsistencies on the website. The volume of events is highly volatile, with massive spikes occurring when new regional properties are listed. Both the search indexing service and the email alert system must receive and process every status update. Which solution meets these requirements with the least operational overhead?

  1. A
    Publish the property status events to a single standard Amazon SQS queue, and configure both the search indexing service and the email alert system to poll this single queue.
  2. Publish the property status events to an Amazon SNS FIFO topic. Subscribe two Amazon SQS FIFO queues to the SNS FIFO topic, with one queue dedicated to the search indexing service and the other to the email alert system.Answer
  3. C
    Publish the property status events to a standard Amazon SNS topic. Subscribe two standard Amazon SQS queues to the SNS topic, with one queue dedicated to the search indexing service and the other to the email alert system.
  4. D
    Publish the property status events to an Amazon SNS topic, and write them to an Amazon DynamoDB table configured with provisioned capacity mode to store and sequence the events for downstream consumption.

Answer

Publish the property status events to an Amazon SNS FIFO topic, and subscribe two Amazon SQS FIFO queues to the topic (one for the search indexing service and one for the email alert system).
The correct solution uses an Amazon SNS FIFO topic to fan out the property status events to two dedicated Amazon SQS FIFO queues. SNS FIFO topics preserve the sequence of messages and can deliver them in-order to subscribed SQS FIFO queues. Having separate SQS FIFO queues for the search indexing service and the email alert system ensures that both applications independently consume every message without competition, while the queues absorb traffic spikes.

Step-by-Step Solution

1
Identify the requirement for message fan-out to multiple independent consumer applications.
Two downstream services (search indexing and email alerts) must each receive every property status update.
A pub/sub model using Amazon SNS is required to fan out a single event to multiple destinations.
2
Determine the ordering requirements for the processed events.
Events must be processed in strict chronological order per property to avoid displaying outdated statuses.
Standard SNS and SQS do not guarantee ordering, so FIFO (First-In-First-Out) configurations must be used for both SNS and SQS.
3
Evaluate the integration between SNS FIFO and SQS FIFO to manage message delivery and buffering.
Subscribing SQS FIFO queues to an SNS FIFO topic maintains message grouping and ordering while providing a buffer for traffic spikes.
This architecture decouples the services, guarantees ordered delivery per property, and absorbs volatile traffic patterns with minimum operational overhead.

Key Concept

Decoupling event-driven architectures requiring multi-destination fan-out and strict message ordering.
Estimated Time:2m 0s
Rate this question