تنظیمات پیشرفته
با استفاده از «تنظیمات پیشرفته» در CDN ابر آروان، میتوانید ترافیک کاربران و رفتار توزیع بار را بهشکل دقیقتری مدیریت کنید. پس از انتخاب دامنه و ورود به پیشخان آن در پنل CDN ابر آروان از بخش «ترافیک» و سپس «تنظیمات پیشرفته» میتوانید به این امکانات دسترسی داشته باشید.
نوع توزیع بار
در این بخش میتوانید الگوریتمی را که بر اساس آن یک آدرس از میان آدرس سرورهای اصلی انتخاب میشود، مشخص کنید.
-
الگوریتم Round Robin
این الگوریتم سادهترین و رایجترین الگوریتم توزیع بار است. درخواستهای کاربران در چرخشی ساده بین سرورهای اصلی شما توزیع میشوند. برای نمونه، تصور کنید ۶ کاربر (u5، u4، u3، u2، u1 و u6) دارید که میخواهند به اپلیکیشن شما متصل شوند و شما ۳ سرور (s2، s1 و s3) دارید. u1 به u2 ،s1 به s2 و u2 به s3 و در ادامه u۴ به u5 ،s1 به s2 و u6 به s3 متصل میشود. الگوریتم Round Robin برای درخواستهای قابل پیشبینی و سرورهایی با توان پردازشی و منابع نسبتن مساوی، مناسب هستند.
اما اگر یکی از سرورها نسبت به بقیه ظرفیت بیشتری برای رسیدگی به درخواستها داشته باشد، میتوان به کمک وزندهی از نهایت قدرت آن سرور استفاده کرد.
-
الگوریتم Client IP Hash
Client IP Hash الگوریتمی است که درخواستهای کاربران را بر اساس آدرس IP آنها به یک سرور مشخص ارسال میکند.
هنگامی که کاربر درخواستی را ارسال میکند، ابتدا Load Balancer آن را دریافت میکند. سپس Load Balancer از آدرس IP کاربر در یک تابع Hash استفاده میکند. ویژگیهای این تابع Hash میتواند متفاوت باشد. برای نمونه، ممکن است آخرین اکتت آدرس IP را به یک عدد صحیح تبدیل کند و یک عملیات مد روی تعداد سرورها انجام دهد تا شاخص سرور را دریافت کند. در واقع، تابع هش تعیین میکند که کدام سرور باید درخواست را بر اساس Hash آدرس IP کاربر پردازش کند.
تا زمانی که تعداد سرورها ثابت بماند و IP تغییر نکند، تمام درخواستهای آینده از آن آدرس IP به همان سرور هدایت میشوند.
این الگوریتم تداوم یک Session را تضمین میکند. به این معنا که تا زمانی که آدرس IP یک کاربر تغییر نکند، در طول Session خود بهطور مداوم به همان سرور متصل میشود. این ویژگی در شرایطی که حفظ اطلاعات Session در مورد کلاینت و در یک سرور خاص مهم است کارایی دارد.
ارسال درخواست کاربر به سرور بعدی هنگام بروز خطا
با فعالسازی این قابلیت، اگر زیردامنهی شما به بیش از یک سرور متصل باشد، درخواستهایی که با خطای Connection Refused ،Connection Error و ... روبهرو شوند بهشکل خودکار به سرور بعدی منتقل میشوند و در این حالت خطای سرور اصلی به کاربر نمایش داده نمیشود.
با کلیک روی تنظیمات میتوانید مشخص کنید با بروز چه خطا (Status Code) و متدی (HTTP Method) درخواست کاربر به سرور بعدی در لیست سرورهای Upstream ارسال شود.
توجه داشته باشید درخواستهایی که از Upstream با خطا روبهرو شوند، ممکن است در فرآیند درخواست در سرور دوم با مشکل مواجه شوند. برای نمونه، اگر هنگام اجرای یک Query بهدلیل مشکلات شبکه، اتصال قطع و ترافیک به سرور بعدی ارسال شود ممکن است رکوردهای تکراری در دیتابیس ایجاد شود.
این قابلیت در پلنهای رشد و بالاتر در دسترس قرار دارد.
توقف ارسال ترافیک به سرور خطادار
با فعال کردن این امکان، بهشکل پیشفرض اگر تعداد خطاهای یک سرور از ۵ بیشتر شود، آن سرور بهمدت ۱۵ ثانیه از لیست سرورهایی که ترافیک برای آنها ارسال میشود، خارج میشود.
تعداد خطا و مدت زمانی که ترافیک برای سرور دارای خطا ارسال نمیشود، در بخش تنظیمات قابل تغییر است.
این قابلیت در پلنهای رشد و بالاتر در دسترس قرار دارند.