کاهش تأخیر با استفاده از محاسبات لبهای (Edge Computing)
دکمه پرداخت کار میکرد، اما تأخیر باعث از دست رفتن یک مشتری برای کسبوکار شد.
سیستم پایدار بود. API کار میکرد. بکاند (backend) مقیاسپذیر بود.
کاربران همچنان اپلیکیشن را ترک میکردند. آنها به این دلیل رفتند که اپلیکیشن کند بود. در اپلیکیشنهای وب مدرن، کندی به معنای خرابی است.
تأخیر (Latency) همان فاصله زمانی بین اقدام کاربر و پاسخ سیستم است. تأخیر ۱۰۰ میلیثانیهای محسوس است. کاربران انتظار پاسخهای آنی دارند.
یک پلتفرم تجارت الکترونیک این موضوع را از نزدیک تجربه کرد. آنها ویژگی جدیدی را عرضه کردند. همه چیز درست کار میکرد، اما کاربرانی که از سرور مرکزی فاصله داشتند، هنگام پرداخت با تأخیر مواجه شدند.
رها کردن سبد خرید افزایش یافت. مشکل، فاصله بین کاربران و سرورها بود.
محاسبات لبهای (Edge computing) این مشکل را حل میکند. این فناوری به جای یک ابر مرکزی، دادهها را در نزدیکی کاربر پردازش میکند.
جریان استاندارد: کاربر $\rightarrow$ سرور ابری $\rightarrow$ پاسخ
جریان لبهای: کاربر $\rightarrow$ گره لبهای (Edge Node) $\rightarrow$ پاسخ
فاصله کمتر به معنای سرعت بیشتر است.
چگونه با استفاده از محاسبات لبهای تأخیر را کاهش دهیم:
- انتقال منطق به لبه: انجام بررسیهای احراز هویت در نزدیکی کاربر.
- کشینگ هوشمند: ذخیره داراییهای استاتیک در لبه برای جلوگیری از مراجعه به سرور اصلی.
- استفاده از CDNها: توزیع محتوا در مکانهای مختلف جهان برای بارگذاری سریعتر صفحات.
- فشردهسازی دادهها: پاسخهای JSON کوچکتر سریعتر منتقل میشوند.
بهترین سیستمها از هر دو استفاده میکنند:
- لبه برای پردازشهای آنی (real-time).
- ابر برای محاسبات سنگین.
دادهها را در مکانهای لبهای پیشمحاسبه کنید. درخواستها را به نزدیکترین گره هدایت کنید.
صنایعی که اکنون از این فناوری استفاده میکنند:
- خودروهای خودران
- تجارت الکترونیک
- بازیهای آنلاین
- مراقبتهای بهداشتی
- استریمینگ
یک اشتباه رایج، ارسال هر درخواست به یک سرور ابری مرکزی است.
قانون ساده است: هرچه محاسبات به کاربر نزدیکتر باشد، تجربه کاربری سریعتر خواهد بود.
تأخیر یک مشکل در تجربه کاربری است. کاهش آن باعث حفظ تعامل کاربران میشود.
چه چیزی بیشترین تأثیر را بر تأخیر در اپلیکیشنهای شما دارد؟ فاصله شبکه، عملکرد سرور، طراحی API یا حجم دادهها؟