Soru

Zorluk: ZorDecoupling Architectures and Event-Driven Messaging

A financial services company is migrating a legacy payment settlement system to AWS. The system must process account withdrawal requests sequentially on a per-account basis to prevent overdrafts. The transaction volume is highly spiky and can reach up to 80008{}000 requests per second. The company wants to design a decoupled, resilient, and serverless messaging architecture that guarantees ordering within each account while maximizing throughput and minimizing operational overhead.

Which combination of steps should a solutions architect recommend to meet these requirements? (Select TWO.)

  1. Create an Amazon SQS FIFO queue and enable high-throughput mode for the queue.Cevap
  2. Publish the withdrawal events using the unique account number as the Message Group ID.Cevap
  3. C
    Create an Amazon SQS Standard queue and rely on the visibility timeout to order the messages.
  4. D
    Publish the withdrawal events using a single static string as the Message Group ID for all messages.
  5. E
    Create an Amazon SNS Standard topic and subscribe multiple Amazon SQS Standard queues to fan out the traffic.

Cevap

The correct solution is to create an Amazon SQS FIFO queue with high-throughput mode enabled, and publish the withdrawal events using the unique account number as the Message Group ID.
To satisfy both ordering and scale requirements, the architecture must use Amazon SQS FIFO with high-throughput mode enabled. Using the account number as the Message Group ID ensures that messages for the same account are processed in order, while messages for different accounts can be processed concurrently by multiple consumers. This design provides both the necessary ordering guarantees and the scalability to support 8,000 transactions per second.

Adım Adım Çözüm

1
Select a message queue service that guarantees first-in, first-out (FIFO) order.
Amazon SQS FIFO queue is selected because SQS Standard queues cannot guarantee message ordering.
Sequential processing on a per-account basis is a hard requirement to prevent overdrafts.
2
Enable high-throughput mode on the SQS FIFO queue.
The queue can support throughput scales of up to 80008{}000 transactions per second or more.
Normal SQS FIFO queues are limited to 300 transactions per second (or 3,000 with batching) by default, which is insufficient for the peak load of 8,000 requests per second.
3
Configure the message grouping strategy using a granular partition key.
The unique account number is used as the Message Group ID for each SQS FIFO message.
Using the account number ensures strict ordering within each individual account while allowing parallel processing across different accounts to meet the high-throughput demands.

Anahtar Kavram

Decoupling event-driven workloads with Amazon SQS FIFO high-throughput mode and Message Group IDs.
Bu soruyu puanla