You are implementing a notification system for an online shopping platform hosted on AWS. The system must send emails to customers after their order has been processed. Given that the order processing system can become backlogged during peak times, which pattern should you employ to ensure that the email notifications do not block or slow down the order processing workflow?
Employ an asynchronous pattern with a message queue that collects notifications to be processed by a separate email-sending service independently of order processing.
Implement a hybrid pattern, sending the email synchronously for premium customers, while using an asynchronous approach for regular customers.
Adopt a synchronous pattern for small batches of orders, switching to an asynchronous pattern only when detecting a processing backlog.
Use a synchronous pattern where the order processing service sends the email directly before confirming the order as complete within the same workflow.