Idempotency کا مطلب ہے کہ ایک operation چاہے ایک بار یا کئی بار انجام دیا جائے، اسی نتیجے پر پہنچتا ہے۔ یہ distributed systems میں انتہائی اہم ہے کیونکہ retries اور duplicate messages لازمی ہیں — idempotent operations ان کو محفوظ بناتے ہیں۔
Idempotency کیا ہے
An operation is IDEMPOTENT if doing it MULTIPLE times has the SAME effect as doing it ONCE:
→ "set balance to 100" → idempotent (same result however many times)
→ "add 100 to balance" → NOT idempotent (each call changes it → wrong if duplicated!)
→ in HTTP: GET, PUT, DELETE are idempotent; POST typically is NOT
Distributed systems میں اس کا اہم ہونا
Retries and duplicates are INEVITABLE in distributed systems:
→ a request times out → the client RETRIES → but the original may have succeeded →
the operation runs TWICE (e.g. a payment charged twice! an order placed twice!)
→ message queues often guarantee AT-LEAST-ONCE delivery → duplicates happen
→ network issues, failures → operations get retried
→ if operations are IDEMPOTENT, duplicates/retries are SAFE (no harm from repeating)
→ this is essential for correctness and safe retries.
