A company is designing an order processing system. When a new order is created, the event needs to be sent to multiple downstream services: an inventory service, a shipping service, and a data analytics service. Each service processes the event independently and at its own pace. The architecture must ensure that if the shipping service is temporarily unavailable, it does not impact the inventory and analytics services. Which architecture provides the best decoupling and reliability for this scenario?
-
A
An SQS queue that all three services poll for new order messages.
-
B
An SNS topic that publishes order events, with each of the three services subscribed directly via HTTPS endpoints.
-
C
An SNS topic for new orders, with three separate SQS queues subscribed to the topic. Each service polls its respective queue.
-
D
A Kinesis Data Stream that captures order events, with each service running a Kinesis Client Library (KCL) application.