A serverless application uses a standard queue. After a timeout, a message is processed twice and creates duplicate downstream records. Which change is most robust?

Published
  1. Delete messages before processing to prevent repeats.
  2. Make the consumer side effect idempotent using a stable business identifier and conditional state.
  3. Give each retry a new business identifier.
  4. Assume extending visibility timeout guarantees exactly one side effect forever.

Comments — 0