Home › Forums › AWS › AWS Certified Solutions Architect Associate › Wrong suggestion of replacing SQS with AWS Step Functions
-
Wrong suggestion of replacing SQS with AWS Step Functions
JR-TutorialsDojo updated 1 week, 1 day ago 2 Members · 2 Posts
-
Hello!
While training for the SAA-C03 exam, I’ve encountered such a question:
“A company has a web-based order processing system that is currently using a standard queue in Amazon SQS. The IT Manager noticed that there are a lot of cases where an order was processed twice. This issue has caused a lot of trouble in processing and made the customers very unhappy. The manager has asked you to ensure that this issue will not recur.What can you do to prevent this from happening again in the future? (Select TWO.)<div>
- Replace Amazon SQS and instead, use AWS Step Functions.
- Use an Amazon SQS FIFO Queue instead.
- Alter the visibility timeout of SQS.
- Alter the retention period in Amazon SQS.
- Change the message size in SQS.”
Suggested answers are “Replace Amazon SQS and instead, use AWS Step Functions.; Use an Amazon SQS FIFO Queue instead.“
I won’t copy-paste the whole explanation here, but I carefully read it. I still think that suggesting Step Functions over increasing visibility timeout here is flawed and inconsistent.
Visibility Timeout’s best practices, according to <em style=”font-family: inherit; font-size: inherit;”>AWS Documentation: “If your application requires 10 seconds to process a message but you set the visibility timeout to only 2 seconds, a duplicate message is received by another consumer while the original consumer is still working on the message.”
</div><div>
Step Functions, meanwhile, are designed for different use cases where you need to orchestrate complex workflows, manage state, and coordinate multiple AWS services in a specific sequence.
In addition, this will add architectural implications: replacing SQS with Step Functions will require significant architectural changes. Step Functions manages workflows and state machines, which is a different paradigm than the SQS message queue model. This replacement is not a simple solution to the problem of duplicate message processing and can introduce unnecessary complexity.</div>
-
Hello anthill5060,
I appreciate your detailed feedback and understand your concern about the suggestion to replace SQS with Step Functions.
You are correct that Step Functions are mainly intended for workflow orchestration, not for simple message deduplication. We recognize that this question can be refined further, and we will make the necessary updates. You can expect these changes to be reflected on the portal soon.
Let us know if you need further assistance.
Regards,
JR @ Tutorials Dojo
Log in to reply.