سرفصل های مهم

توزیع بار


یکی از رویکردهای کاربردی برای مدیریت بهتر درخواست ها بخصوص برای سایت های پربازدید، استفاده از چند سرور اصلی متشکل از تمامی اطلاعات و فایل هاست. به عبارت دیگر، می توانید فایل های یکسانی را بر روی سرورهای چندگانه بارگذاری کرده و پس از دریافت درخواست برای هر فایل، سرور آماده پاسخ را ارسال کند.

کلاسترینگ

برای عبور ترافیک از سرورهای لبه CDN میزبان کلود و توزیع درخواست ها بین چند سرور باید از کلاسترینگ استفاده کنید. 

در واقع پس از ساخت یک دسته از سرورها یا کلاستر، باید یک سیاست برای نحوه توزیع بار ترافیکی بین سرورها تعیین کنید. 

برای مثال اگر از روش کمترین اتصالات ( Least Connection ) استفاده کنید، ترافیک سایت به سمت سروری هدایت خواهد شد که کمترین تعداد کانکشن یا اتصال را در آن لحظه داشته باشد.

در نتیجه با داشتن این قابلیت بار سنگین از دوش یک سرور برداشته شده و بین سرورهای درون مدار با توجه به الگوریتم های مشخصی تقسیم می شود. نهایتاً تاخیر شبکه ای و احتمال از دسترس خارج شدن یک سرور به حداقل رسیده و تجربه کاربری نیز افزایش خواهد یافت.

در صورتی که از توزیع بار استفاده کنید، ممکن است زیرساخت شما به فرآیندی تحت عنوان failover نیاز پیدا کند.

Failover زمانی اتفاق می افتد که یک سرور آنطور که باید فعالیت نمی کند، و لود بلنسر فرآیندهای عادی خود را با سرورهای دیگر ادامه می دهد (یعنی یک جا به جایی به دلیل از ناتوانی یک زیرساخت).

یعنی اگر پشتیبانی در کار نباشد، یک لحظه از دسترس خارج شدنِ سرور، می تواند کل سایت یا اپلیکیشن را به اصطلاح down کرده و صدمات جبران ناپذیری به کسب و کار وارد کند.

سلامت سنجی

لود بلنسینگ (توزیع بار) باید دائماً از سلامت سرورها، یعنی وضعیت فعلی شان، ظرفیت و نحوه عملکردشان و معیارهای دیگر مطلع باشند. توزیع بار از طریق تست های سلامت یا سلامت سنجی های مکرر، سرورها را تحت نظر دارند. 

به طوری که اگر سرور یا کلاستری عملکرد کندی داشته باشد، لود بلنسر، بار ترافیکی کمتری به سمت آن هدایت خواهد کرد. اگر یک یا چند سرور به طور کلی از دسترس خارج شوند نیز توزیع کننده ترافیک را مجدداً به سمت کلاستری فعال و در دسترس هدایت خواهد کرد.

برای بهره مندی از مزایای توزیع بار به یک یا چند کلاستر نیاز خواهید داشت.

برای راه اندازی یک کلاستر نیز به چند سرور؛ این سرورها می توانند سرورهای فیزیکی شما یا سرورهای ابری تان باشند؛ 

این کار، redundancy و اطمینان خاطر را برای شما بهمراه خواهد داشت.

ساخت کلاستر

به منظور ساخت یک کلاستر این مراحل را طی کنید:

مرحله اول: یک کلاستر یا Pool بسازید.

منظور از استخر (Pool) در اینجا، فضایی است که چندین سرور با IP یا Hostname متفاوت از سایت شما میزبانی کنند.

برای اینکار کافیست سایت مورد نظر را در پنل میزبان کلود انتخاب کرده و سپس از منوی CDN ابری، وارد بخش توزیع بار شوید.

روی افزودن کلاستر جدید کلیک کنید و برای آن یک پروتکل، متد و نام انتخاب کنید.

منظور از پروتکل این است که برای مثال میخواهید درخواست های ارسالی از پروتکل HTTP را به سمت یک کلاستر و HTTPS را به کلاستری دیگر هدایت کنید.

*دقت داشته باشید که برای نامگذاری کلاستر نمی توانید از space و علائم استفاده کنید.

در مورد متد توزیع بار نیز می توانید در مقاله "توزیع بار" اطلاعات کاملی دریافت کنید.

در مراحل بعدی ایجاد کلاستر می بایست سرور های مورد نظر خود را جهت کلاستر سازی اعلام فرمایید.

برای سرورِ درون این کلاستر، یک وزن/اولویت و آدرس اضافه کنید، سرور را به کلاستر اضافه نمایید و برای سایر سرورهای درون کلاستر نیز همین کار را تکرار کنید. 

در نظر داشته باشید که می بایست پروتکل و پورت اتصال به سرور را در این مرحله وارد نموده و سرور را بعد از وارد کردن موارد فوق به کلاستر اضافه فرمایید.

در صورتی که گزینه بکاپ را فعال کنید سرور تا در دسترس بودن سرور های دیگر درخواستی دریافت نمیکند و تنها در زمان از دسترس رفتن سرور های دیگر شما مورد استفاده قرار خواهد گرفت.

آخرین مرحله ایجاد کلاستر مربوط به تعریف و تنظیم مانیتوریگ دلخواه شما بر روی کلاستر ایجاد شده می باشد شما در این صفحه می توانید مانیتوریگ را بر اساس پروتکل ، پورت ، مسیر و ... انجام دهید.

در خصوص ایجاد و معرفی مسیر جهت مانیتورینگ در نظر داشته باشید که مسیر مورد نظر خود را می بایست طبق قوانین glop patern وارد نمایید

به عنوان مثال : در صورتی که بخواهید برای دامنه اصلی و تمامی زیر دامنه ها و آدرس های آن تنظیمات صورت گیرد می بایست مسیر اعلامی را برای دامنه example.com به صورت زیر وارد فرمایید:

example.com/**

یا اگر بخواهید آدرس تنها برای صفحه اول وبسایت شما باشد می توایند آن را به صورت زیر تنظیم کنید

example.com

نشانی زیر تمامی زیر دامنه های example.com را شامل خواهد شد:

*.example.com

و در صورتی که میخواهید پسوندی خاص مانند jpg را مورد نظر قرار دهید می توانید آدرس دهی را به صورت زیر اعمال فرمایید:

example.com/*.jpg

علاوه بر این می توانید فرآیند ساخت کلاستر را با کمک API نیز انجام دهید.

رکوردهای DNS و گواهی SSL را برای کلاستر خود چک کنید و در صورت نیاز به اصلاح، به صفحه توزیع بار مراجعه کرده و تنظیمات را ویرایش کنید.