🌐 ایدهمپوتنسی (Idempotency) یعنی چی و چرا باید بدونیم؟
🔸 فرض کن روی دکمهی «پرداخت» اپلیکیشن دوبار پشت سر هم کلیک میکنی. اگر سیستم تو Idempotent نباشد، ممکنه دو بار از حسابت پول کم بشه!
🔸 مفهوم ایدهمپوتنسی یعنی: اجرای چندبارهی یک عملیات، دقیقاً همان نتیجهی اجرای بار اول را داشته باشد و تغییر اضافهای ایجاد نکند.
🔸 مثال خوب (Idempotent): تنظیم کردن وضعیت سفارش به «ارسال شده» (SET status = 'shipped'). هرچند بار هم این کوئری اجرا بشه، وضعیت همون میمونه.
🔸 مثال بد (Not Idempotent): کم کردن موجودی انبار (UPDATE stock = stock - 1). هر بار اجرا بشه، یک واحد دیگه کم میشه!
🔸 طراحی APIها و دیتابیسها بدون در نظر گرفتن این اصل، سیستم رو در برابر خطاهای شبکه بسیار آسیبپذیر میکنه.
🆔 @rezadolati01
Post #4689
337
- ❤ 1