توی رفرنس های خارجی هم بهترین مقاله ای که راجب این موضوع میتونم بهتون بگم که بخونین مقاله استرایپ راجع به idempotent بودن عه :
✅ ایده Idempotency Key: فرانتاِند یه کلیدِ یونیک (مثل UUID) میفرسته. سرور اگه این کلید رو قبلاً دیده باشه، دیگه اصلاً وارد منطق پرداخت نمیشه و فقط جواب قبلی رو از ککش برمیگردونه. یعنی یوزر ۱۰۰ بار هم روی دکمه کلیک کنه، فقط «یکبار» پول کسر میشه.
✅ داستان Retryها: استرایپ میگه وقتی اینترنت قطع میشه، نباید مثل رگبار ریکوئست زد به سرور! از تکنیک Exponential Backoff استفاده میکنن؛ یعنی هر بار که شکست خورد، فاصله ریکوئست بعدی رو بیشتر میکنن تا سرور زیر فشارِ «گلهایِ» ریکوئستها (Thundering Herd) نپکه!
این مقاله هم خیلی جذاب راجب همین موضوع بحث میکنه
https://stripe.com/blog/idempotency
@codehalics | کدهالیک
Post #391
446
کدهالیک | codehalic خب امروز میخوام یکی دیگه از سوالای مصاحبهای که اگر به عنوان مصاحبهکننده باشم از بقیه میپرسم رو باهاتون مطرح کنم و نظر شما رو بپرسم. سناریو: جلوگیری از فاجعه در درگاه پرداخت فرض کنید یوزر روی دکمه «پرداخت نهایی» کلیک میکنه (پرداخت از کیف پول داخلی).…Stripe Designing robust and predictable APIs with idempotency Online payment processing for internet businesses. Stripe is a suite of payment APIs that powers commerce for businesses of all sizes.
- 🔥 3