معرفی سرویس Load Balancing در ویندوز سرور 2012

نمیدونم این رو به منزله تیکه انداختن یا خودبرتربینی یا هر چیز دیگه ای بزارید متاسفانه این روزها برخی از آموزشگاه هایی که دوره های به گفته خودشون تخصصی رو برگزار می کنند از اساتیدی استفاده می کنند که قبلا دوره های مبتدی رو تدریس کردند و هیچ تجربه کاری در زمینه مربوطه ندارند ، این دوستان هر چند به قول خودمون بازار کار ما را هم خراب می کنند اما به هر حال در پیاده سازی سرویس های حساس و کلان سازمانی همیشه دچار مشکل هستند و هر چیزی که در کتاب نوشته شده باشد را بصورت ترجمه برای دانشجویان تدریس می کنند. امروز تصمیم گرفتم در انجمن تخصصی فناوری اطلاعات ایران در خصوص مبحثی صحبت کنم که کمتر به آن پرداخته می شود و با توجه به کمبود امکانات یا ضعف دانش اساتید کمتر هم در موسسات آموزشی تدریس می شود ، به هر حال اساتید یا دوستانی که به شغل شریف تدریس می پردازند بد نیست قبل از اینکه برای دانشجویان مبحث Network Load Balancing را توضیح دهند این مطلب را مطالعه کنند و بعد با دید کاربردی به دانشجویان عزیز تدریس کنند.

Network Load Balancing چیست


Network Load Balancing یا NLB چیست ؟


Load Balancing چیست ؟ اگر بخواهیم واژه دقیقتر را بکار ببریم تعریف به این شکل می شود که Network Load Balancing یا NLB یکی از قابلیت های ویندوز سرور است که به شما این امکان را می دهد که مجموعه ای از سرورها را در قالب گروه در کنار هم قرار بدهید که یک سرویس یکسان را ارائه می دهند اما برای کاربر همه این سرورها به عنوان یک سرور دیده می شود و کاربر از مشاهده سایر سرورها ناتوان است ، در واقع تصور کنید 10 عدد سرور با 10 آدرس IP متفاوت دارید و همه اینها با استفاده از سرویس Network Load Balancing ویندوز سرور 2012 به شکل یک گروه در آمده اند ، تمام این 10 عدد سرور برای کاربر فقط یک آدرس IP دیده می شود که آدرس IP مربوط به گروه سرورهایی است که در آن قرار گرفته اند.

چندین تعریف مهم در این میان وجود دارد که در مقالات آینده بیشتر با آنها آشنا خواهید شد ، گروهی که برای عضو شدن سرورها در ویندوز سرور 2012 ایجاد می شود را در اصطلاح فنی به عنوان NLB Cluster یا خوشه می شناسند ، البته بعضا دیده شده است که این گروه به عنوان Serve Farm نیز عنوان شده است که بیشتر این واژه در خصوص محصول شیرپوینت دیده می شود تا سایر سرویس ها ، هر کدام از سرورهایی که به این مجموعه یا گروه اضافه می شوند به عنوان یک Host یا Node شناخته می شوند. هدف از ارائه سرویسی به نام NLB هم بالا بردن دسترسی پذیری و هم مقیاس پذیری یا scalability سرویس هایی است که روی Node های یک NLB Cluster قرار گرفته اند است ، توجه کنید که راه اندازی هر کدام از سرویس هایی که در ویندوز سرور وجود دارد به تنهایی کار ساده است اما قرار دادن آنها در NLB Cluster کمی سخت تر است. به هر حال در ادامه این مطلب انتظار داریم شما مفاهیم کلی NLB را یاد بگیرید ، قرار نیست همه موارد پیشرفته NLB در این مطالب پوشش داده شود و به امید خدا در مباحث پیشرفته تری مانند priority یا اولویت ها و port rule ها بهتر است خودتان مطالعه بیشتری داشته باشید.

زیرساخت و اساس کاری Network Load Balancing


سرویس NLB با دریافت کردن درخواست های کلاینت ها و توزیع کردن این درخواست ها در بین دو یا بیش از دو سروری که در یک NLB cluster قرار دارند هم دسترسی پذیری و هم مقیاس پذیری سرویس ما را بالا می برد. همانطور که قبلا هم اشاره کردیم برای یک کلاینت NLB Cluster ما شبیه به یک سرور با یک آدرس IP به نظر می رسد. اگر بخواهیم یک سناریوی عملی از استفاده از NLB Cluster بزنیم باید بگوییم بیشترین استفاده ای که از NLB Cluster می شود در وب سایت ها و نرم افزارهای کاربردی تحت وبی است که در سطح سازمان استفاده می شود ، شما در چنین حالتی در اصطلاح فنی یک Web Farm ایجاد می کنید. اما استفاده کردن از سرویس NLB محدود به وب سایت ها و وب سرویس ها نمی شود و شما می توانید Remote Desktop Farm یا VPN Server Farm و یا حتی Proxy Server Farm هم با استفاده از NLB ایجاد کنید. شما می توانید از یک سرویس NLB بصورت همزمان برای راه اندازی چندین فایروال TMG ( که البته منسوخ شده است ) و ترکیب کردن آن با چندین سرور IIS یک NLB ترکیبی ایجاد کنید.

اولین گامی که NLB برای بالا بردن دسترسی پذیری سرویس به ما ارائه می دهد این است که با استفاده از شناسایی سرورهای مشکل دار دیگر درخواستی را به سمت این سرورها ارسال نمی کند و درخواست های جدید برای سرورهای فعال مجموعه ارسال می شوند ، بدین ترتیب هیچ کلاینتی متوجه بروز مشکل در یکی از سرورها نمی شود و سرویس همچنان ادامه پیدا می کند. در واقع NLB قابلیت شناسایی و سپس از مدار خارج کردن سرورهای غیر فعال مجموعه را دارد. دومین گامی که NLB برای بالا بردن مقیاس پذیری یا scalability ارائه می دهد این است که گروهی از سرورها هستند که درخواست های کاربران را مدیریت و پاسخگویی می کنند و طبیعتا تعداد درخواست هایی که می توان در لحظه پاسخگو بود بیشتر از یک سرور تنها خواهد بود. همچنین با گسترش پیدا کردن سرویس مورد نظر ، برای مثال یک وب سرور و بالا رفتن تعداد درخواست های کاربران شما می توانید یک سرور جدید را به مجموعه NLB Cluster خود اضافه کنید و Load کاری را بین سرورهای بیشتری تقسیم کنید.

یکی از مهمترین نکاتی که بایستی در خصوص NLB درک کنید این است که درخواست های هر کلاینت صرفا و بصورت مستقیم فقط و فقط برای یکی از سرورهای مستقر در NLB Cluster ارسال می شود، این یعنی کلاینت فقط و فقط از قدرت پردازشی ، حافظه و منابع ذخیره سازی یکی از سرورهای موجود در NLB Cluster استفاده خواهد کرد و سرورهای دیگر درگیر پردازش این درخواست نخواهند شد. توجه کنید که در یک NLB Cluster هر کدام از Node ها بصورت مستقل کار می کنند و هیچ دسترسی به منابع موجود بر روی سرورهای دیگر ندارند و نمی توانند بر روی سرورهای دیگر تغییرات ایجاد کنند ، بنابراین تغییرات یک سرور بر روی سایر سرورها تاثیری نخواهد داشت. واژه ای که برای تشریح کردن این فرآیند بکار می رود این است که شما از NLB برای Stateless Application ها استفاده می کند ، شما نمی توانید از NLB برای Stateful Application ها استفاده کنید. ، برای مثال خود وب سرور با توجه به اینکه دارای پیچیدگی و پایگاه داده خاصی نیست می تواند توسط NLB سرویس دهی شود اما شما نمی توانید Database Server های خود را در یک NLB قرار دهید زیرا در چنین شرایطی هر یک از کلاینت ها با درخواست خود می خواهند پایگاه داده ای را بروز رسانی کنند و ممکن است تداخل کاری در این میان پیش بیاید ، در خصوص برطرف کردن چنین مشکلاتی شما باید Clustering را با مفاهیمی دیگر و با روش های خاص اینگونه نرم افزارها پیاده سازی کنید ، به امید خدا در آینده در خصوص راه اندازی Clustering در سرویس های دیگری مانند Exchange Server و SQL Server نیز صحبت خواهیم کرد. ITPRO باشید

نویسنده : محمد نصیری
منبع : جزیره سرویس های شبکه مایکروسافت وب سایت توسینسو
هرگونه نشر و کپی برداری بدون ذکر منبع دارای اشکال اخلاقی می باشد
#network_load_balancing_چیست #nlb_چیست؟ #کاربرد_nlb_در_شبکه #چرا_dc_را_کلاستر_نمیکنیم #پیاده_سازی_nlb #Clustering_و_NLB_روی_DNS_سرور #nlb_چیست
عنوان
1 معرفی سرویس Load Balancing در ویندوز سرور 2012 رایگان
2 راه اندازی Network Load Balancing یا NLB در ویندوز سرور 2012 - قسمت اول رایگان
3 راه اندازی Network Load Balancing یا NLB در ویندوز سرور 2012 - قسمت دوم رایگان
زمان و قیمت کل 0″ 0
6 نظر
مهدی باقری
مهندس عالی بود
مطلب جالبی و جا واسه کار بسیار
ممنون و منتظر ادامش هستیم
میثم رضوان دوست
مثل همیشه عالی
حامد
ممنون
حامد محمدی
سلام
مهندس نصیری در قسمتی از مقاله این مطلب رو (اگر بخواهیم یک سناریوی عملی از استفاده از NLB Cluster بزنیم باید بگوییم بیشترین استفاده ای که از NLB Cluster می شود در وب سایت ها و نرم افزارهای کاربردی تحت وبی است که در سطح سازمان استفاده می شود) ذکر کردید حالا اگه برای سطح سازمان نباشه و تعداد کاربرهایی که همزمان قراره به وب سرور ارتباط برقرار کنن خیلی زیاد باشن NLB جواب میده؟
ممنونم
محمد نصیری
NLB ذاتا برای سرویس هایی که فاقد دیتابیس هستند استفاده میشن یا در اصطلاح Stateless هستند. بله جواب میده اما کدوم آدم عاقلی برای سرویس تحت وب Static که فاقد پایگاه داده هست NLB استفاده میکنه ؟
فرهاد پریدار
استاد نصیری عزیز ، واقعا دمتون گرم که هر چی سرچ میکنم با خیال راحت یه tosinso میذارم جلوش و مطمئنم توی سایت خوبتون ازش مطلب دارید . امیدوارم مشکلات قالب هم خیلی زود رفع شه و قالب جدید برای همه جا بیوفته ، من که به شخصه از قالب جدید لذت میبرم
نظر شما
برای ارسال نظر باید وارد شوید.
تنظیمات حریم خصوصی
تائید صرفنظر