The order workflow retries after a timeout.
Do not create duplicate side effects for the same order ID.
Which design is most appropriate?
Persist the order ID as an idempotency key and return the existing result when the same request is retried.
Detailed explanation
Repeated requests with the same key can return one result without repeating the side effect.
Repeated requests with the same key can return one result without repeating the side effect.
DNS TTL does not provide application idempotency.
DNS TTL does not provide application idempotency.
Completed steps can run again and repeat external side effects.
Completed steps can run again and repeat external side effects.
Each retry can create a separate order and duplicate the side effect.
Each retry can create a separate order and duplicate the side effect.
Check official documentation
Compare the following points with the official documentation.
AWS Step Functions retryと冪等性設計の公式説明を確認する。
What to confirm
再試行と冪等性を組み合わせて副作用の重複を防げる。
Key points
- Idempotency key
- Retry
- Order ID
Notes
- Environment: AWS公式Step Functions・Well-Architectedドキュメントの確認
- Confirm current AWS service behavior in the official documentation.
Foundation review
Duplicate prevention
Persisting the key lets the service recognize a request it has already processed.
Side effect
An external state change such as charging a payment or creating an order.