What should a solutions architect do to ensure that all notifications are eventually processed?
Configure the Lambda function for deployment across multiple Availability Zones.
Modify the Lambda function’s configuration to increase the CPU and memory allocations for the function.
Configure the SNS topic’s retry strategy to increase both the number of retries and the wait time between retries.
Configure an Amazon Simple Queue Service (Amazon SQS) queue as the on-failure destination. Modify the Lambda function to process messages in the queue.
Explanations:
Deploying the Lambda function across multiple Availability Zones does not address the issue of message processing failures. It primarily helps with availability and fault tolerance of the function itself but does not ensure that failed notifications are retried.
Increasing CPU and memory allocations for the Lambda function may improve processing speed but does not address the issue of failures due to network connectivity. This option does not provide a mechanism for ensuring all notifications are eventually processed.
Modifying the SNS topic’s retry strategy can improve the chances of message delivery, but it only applies to immediate retries on the first delivery attempt. It does not provide a long-term solution for ensuring all notifications are eventually processed, especially in case of sustained failures.
Configuring an Amazon SQS queue as the on-failure destination allows messages that fail to be processed by the Lambda function to be stored in the queue. This ensures that all notifications are retained and can be retried later, addressing the issue of occasional failures in processing.