مفاهیم پیشرفته API 🚀
آشنایی با Rate Limiting, Caching و Webhooks.
Rate Limiting: لطفاً هول نکنید!
Rate Limiting یعنی برای تعداد درخواستهایی که یه کاربر میتونه تو یه بازه زمانی مشخص بفرسته، محدودیت بذاریم. مثلاً "هر کاربر فقط ۱۰۰ تا درخواست در دقیقه". این کار جلوی سوءاستفاده رو میگیره و باعث میشه سرور ما زیر بار زیاد از کار نیفته.
Caching: جوابهای آماده!
فرض کنید ۱۰۰۰ نفر همزمان قیمت دلار رو از API ما میپرسن. به جای اینکه ۱۰۰۰ بار بریم از منبع اصلی بپرسیم، یه بار میپرسیم و جواب رو یه جا "کش" میکنیم. تا چند دقیقه بعد، به همه همون جواب کش شده رو میدیم. این کار سرعت پاسخدهی رو به شدت بالا میبره و فشار رو از روی سرور کم میکنه.
Webhooks: خودمون بهت خبر میدیم!
تو حالت عادی، کلاینت هی از سرور میپرسه "خبر جدید چی داری؟". به این میگن Polling. اما با Webhook، قضیه برعکسه! ما به سرور یه آدرس میدیم و میگیم "هر وقت خبر جدیدی شد، خودت به این آدرس خبر بده". این روش خیلی بهینهتره و برای اتفاقات لحظهای (مثل پرداخت موفق) عالیه.