How To Use HAProxy As A Layer 4 Load Balancer for WordPress Application Servers on Ubuntu 14.04

Loadbalancing_HAProxy_en

آموزش استفاده از تقسیم کننده بار HAProxy لایه ۴ برای WordPress و Nginx در Ubuntu 14.04

How To Use HAProxy As A Layer 4 Load Balancer for WordPress Application Servers on Ubuntu 14.04

 

معرفی

در این مطلب به آموزش استفاده از HAProxy به عنوان یک تقسیم کننده بار لایه ۴ برای سرور های وردپرس که در سطح برنامه های کاربردی تحت وب سرویس دهی می کنند را عنوان می کنیم. تقسیم بار در قابلیت هایی را به سرورهای نرم افزاری به شما اضافه می کند، که باعث افزایش قابلیت اطمینان در هنگام خرابی سرور یا مسائل مربوط به شبکه می شود و بار را در سرورهای متعدد برای افزایش عملکرد خواندن گسترش می دهد. در این آموزش فرض می کنیم که شما بر روی یک سرور برنامه وردپرس را نصب کرده اید که به یک پایگاه داده جداگانه MySQL متصل می شود.

تقسیم بار لایه ۴ ( Layer 4 Load Balancing ) برای سرور هایی مناسب است که فقط یک برنامه تحت وب را پشتیبانی می کنند. اگر زیر ساخت شما پیچیدگی بیشتری دارد ( مثلا یک WordPress و یک وب سرور استاتیک بر روی سرور های جداگانه و با یک ورودی نصب کرده اید ) مطلب تقسیم بار لایه ۷ را مطالعه کنید.

این مطلب با مثال WordPress نوشته شده است ، اما مفاهیم آن کلی است و می توانید از این مطالب برای تقسیم بارهای دیگر بدون برنامه های تحت وب استفاده کنید.

 

پیش نیاز ها

قبل از شروع آموزش ، شما باید یک سرور که روی آن WordPress به همراه یک پایگاه داده که به صورت جداگانه نصب شده است داشته باشید. برای نصب این سرور می توانید از این آموزش کمک بگیرید How To Set Up a Remote Database to Optimize Site Performance with MySQL

بعد از نصب WordPress و پایگاه داده به صورت جداگانه شما باید دو سرور مجازی داشته باشید. هدف Load Balancing تقسیم بار بین چندین سرور و سرویس دهنده هست و در اینجا نیز نیاز به چندین سرور داریم. سرور هایی که تا الان ایجاد شده است را به صورت زیر نام گذاری می کنیم :

  • wordpress-1 : سروری که برنامه WordPress را روی آن نصب شده است
  • mysql-1 : سروری که پایگاه داده WordPress روی آن نصب است

 

طرح شماتیک کاری که تا الان انجام شده به این صورت است :wordpress_web_server

علاوه بر این سرور ها ، در طول این آموزش به دو سرور مجازی دیگر نیز نیاز داریم که به صورت زیر نام گذاری می کنیم :

  • wordpress-2 : سرور دوم برنامه WordPress
  • haprosy-www : سرور HAProxy ، برای تقسیم بار Load Balancing

اگر با کلمات و مفاهیم تقسیم بار ( Load Balancing ) مانند تقسیم بار لایه ۷ ( Layer 7 Load Balancing ) ، سرور های backend یا ACL ها آشنایی ندارید ، در این مقاله این مطالب توضیح داده شده اند : An Introduction to HAProxy and Load Balancing Concepts .

 

هدف ما

در انتهای این آموزش ما می خواهیم به زیر ساختی مشابه به این برسیم :

wordpress_layer4_appbalanced

در این شکل ، کاربرها به WordPress از طریق سرور HAProxy که آنها را به روش Round Robin به سرور های WordPress ارجاع داده است ، دسترسی دارند و هردو سرور نیز به پایگاه داده MySQL دسترسی دارند.

 

پشتیبان گیری از زیرساخت فعلی

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

  1. اگر مشکلی پیش آمد ، سیستم را به حالتی که به درستی کار می کرد بازگردانید
  2. کپی کردن سرور اصلی برای یک بار و جلوگیری از نصب و پیکربندی مجدد PHP و Nginx

از سرور های مجازی wordpress-1 و mysql-1 یک Snapshot تهیه کنید

بعد از تهیه Snapshot ها می توانیم به پیاده سازی طرحی که بیان کردیم، بپردازیم

 

ساخت دومین سرور برنامه تحت وب

الان باید دومین سرور مجازی که می خواهیم تقسیم بار را بین دو سرور برنامه تحت وب انجام دهد را ایجاد کنیم. برای این کار دو راه داریم :

  1. ساخت سرور مجازی جدید از Snapshot سرور wordpress-1 که تهیه کردید
  2. از ابتدا یک سرور مجازی جدید با برنامه ها و تنظیمات مشابه سرور wordpress-1 ایجاد کنید

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

اگر نمی توانید از شبکه اختصاصی جداگانه استفاده کنید ، آدرس IP اختصاصی ( Private ) را با آدرس IP عمومی ( Public ) سرور جایگزین کنید.

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

 

گزینه ۱ : ساخت سرور مجازی با Snapshot

یک سرور مجازی جدید با نام wordpress-2 با استفاده از Snapshot ای که از سرور wordpress-1 تهیه کردید ، ایجاد کنید.

اگر این روش را انجام دادید از گزینه ۲ که برای یکسان سازی فایل های برنامه تحت وب هست عبور کنید.

 

گزینه ۲ : ساخت سرور مجازی از ابتدا

اگر wordpress-2 را از ابتدا ایجاد کردید دقت کنید که برنامه ها و تنظیمات wordpress-1 یکسانی را روی سرور انجام دهید. اگر نحوه نصب و پیکربندی WordPress را فراموش کردید مجددا مطلب Set Up the Web Server را مطالعه کنید.

برای سرعت بیشتر ، در زیر لیست برنامه هایی که باید مجدد نصب و پیکربندی شوند ، آورده شده :

نرم افزار :

  • MySQL Client
  • Nginx
  • PHP

برای نصب ، دستورات زیر را روی سرور wordpress-2 وارد کنید :

sudo apt-get update

sudo apt-get install mysql-client

sudo apt-get install nginx php5-fpm php5-mysql

فایل های تنظیماتی که باید همانند سرور اصلی ویرایش یا ایجاد شوند :

  • /etc/php5/fpm/php.ini
  • /etc/php5/fpm/pool.d/www.conf
  • /etc/nginx/sites-available/example.com
  • /etc/nginx/sites-enabled/example.com

فراموش نکنید که بعد از پیکربندی برنامه ها سرویس های Nginx و PHP را مجددا راه اندازی کنید. برای این کار دستورات زیر را وارد کنید :  

sudo service php5-fpm restart

sudo service nginx restart

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

 

همگام سازی فایل های برنامه تحت وب

قبل از اینکه برنامه کار تقسیم بار را انجام دهد باید مطمئن شویم که فایل های مربوط به برنامه تحت وب سرور جدید با سرور اصلی یکسان باشد. محل ذخیره این فایل ها به مکانی که WordPress را نصب کرده اید بستگی دارد و همچنین چند فایل دیگر نیز در مسیر های دیگر وجود دارند. به علاوه فایل های PHP که WordPress به آن نیاز دارد ، فایل های بارگذاری شده و افزونه های نصب شده روی WordPress همراه با تنظیمات و همانطور که هستند نیز باید با سرور جدید یکسان باشند. در قسمت پیش نیاز ها ، ما WordPress را در مسیر /var/www/example.com نصب کردیم و از این مسیر برای تمام مثال ها در این مطلب استفاده کرده ، که شما باید این مسیر را با مسیر واقعی ای که WordPress تان رو نصب کرده اید جایگزین کنید.

چندین راه برای یکسان سازی دو سرور وجود دارد ، که از میان آنها NFS یا glusterFS هر دو گزینه مناسبی هستند. ما از glusterFS برای یکسان سازی استفاده می کنیم ، به این دلیل که این برنامه به تمام برنامه های سرور اجازه ذخیره یک کپی از فایل هایشان را روی سرور می دهد ، تا زمانی که هماهنگی بین همه فایل ها برقرار شود. در این جا یک طرح برای درک بهتر کاری که می خواهیم انجام دهیم آورده شده :

wordpress_glusterfs

اگر با اصطلاحات glusterFS آشنایی ندارید ، از این مطلب آموزشی glusterFS استفاده کنید ، که در این قسمت از مفاهیم این آموزش استفاده کردیم.

نکته : بخش هایی که در ادامه آورده شده اند بین سرور های wordpress-1 و wordpress-2 به صورت باید اجرا شوند ، دقت کنید که دستورات را در سرور مناسب اجرا کنید تا مشکلی پیش نیاید.

 

ویرایش فایل Hosts

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

در غیر اینصورت در هر دو سرور wordpress-1 و wordpress-2 فایل hosts را ویرایش کنید :

دو خط زیر را اضافه کنید و در قسمت آدرس های IP ، مقدار مناسب را متناسب با سرور ها جایگزین کنید :

فایل را ذخیره کرده و خارج شوید.

 

نصب glusterFS و پیکربندی Replicated Volume

بر روی هر دو سرور wordpress-1 و wordpress-2 ، از apt-get برای نصب glusterFS استفاده کنید :

در wordpress-1 دستور زیر را برای جفت شدن با wordpress-2 وارد کنید :

در wordpress-2 دستور زیر را برای جفت شده با wordpress-1 وارد کنید :

در هر دو سرور wordpress-1 و wordpress-2 دستور زیر را برای ایجاد یک مکان برای ذخیره فایل هایی که glusterFS باید مدیریت کند ، اجرا کنید :

دستور زیر را در wordpress-1 اجرا کنید ، این دستور یک Replicate  برای glusterFS با نام volume1 ایجاد می کند که داد ها را در مسیر /gluster-storage ذخیره می کند که هر دو سرور از این مسیر استفاده می کنند :

مجددا در wordpress-1 دستور زیر را برای راه اندازی glusterFS volume ایجاد شده با نام volume1 وارد کنید :

اگر می خواهید که اطلاعات بیشتری برای glusterFS volume در سرور wordpress-1 که آن را ایجاد و راه اندازی کردید ، مشاهده کنید دستور زیر را اجرا کنید :

شما باید برای هر سرور WordPress یک قسمت glusterFS را مشاهده کنید.

حالا که یک glusterFS volume را اجرا کردیم ، برای استفاده از آن به عنوان یک replicating filesystem به سرور mount کنیم.

 

اتصال فضای اشتراکی

ابتدا فایل سیستم را به wordpress-1 متصل ( Mount ) می کنیم.

در wordpress-1 ، فایل fstab را برای اتصال خودکار فایل سیستم هنگام روشن شدن سرور ویرایش می کنیم :

برای استفاده از /storage_pool به عنوان یک نقطه اتصال ، خط زیر را به انتهای فایل اضافه کنید.

فایل را ذخیره کرده و خارج شوید.

اکنون در wordpress-1 می توانید glusterFS volume را  به فایل سیستم storage_pool/ متصل ( Mount ) کنید :

الان باید storage_pool/ به سرور مجازی wordpress-1 متصل ( Mount )شده باشد. برای بررسی این موضوع دستور df -h را وارد کنید و لیست فایل سیستم های متصل شده را مشاهده کنید. سپس همین فرآیند را برای اتصال ( Mount ) فضای اشتراکی به سرور wordpress-2 انجام دهید.

 

در wordpress-2 فایل fstab را برای اتصال خودکار فایل سیستم بعد از روشن شدن سرور ، ویرایش کنید :

در انتهای فایل خط زیر را برای اتصال storage_pool/ اضافه کنید. اگر از مقدار دیگری استفاده می کنید ، دقت کنید که به درستی آن را در این دستور جایگزین کنید :

اکنون در سرور wordpress-2 می توانید فایل سیستم storage_pool/ را بهglusterFS volume متصل کنید :

اکنون در فایل سیستم storage_pool/ هر فایل ای که ایجاد شود ، تغییر کند یا حذف شود ، در هر دو سرور همگام سازی می شود ، حتی اگر یکی از سرور ها پایین بیاید.

 

انتقال فایل های WordPress به فضای اشتراکی  

در مرحله بعد باید فایل های WordPress سرور wordpress-1 به فضای اشتراکی انتقال یابد. فایل های WordPress در مسیر /var/www/example.com قرار دارند و Nginx به این فایل ها نگاه می کند و example.com مسیر اصلی می باشد. دقت کنید که در سرور تان از مسیر و نام های دیگر استفاده می کنید آنها را به درستی جایگزین کنید.

در سرور wordpress-1 دستور زیر را برای انتقال فایل های WordPress به فضای اشتراکی storage_pool/ وارد کنید :

در قدم بعد باید یک لینک Symbolic Link در مسیری که فایل های اصلی WordPress در آنجا ذخیره شده بود ایجاد کنید که این لینک به مسیر جدید فایل ها در فضای اشتراکی اشاره می کند :

الان فایل های WordPress شما به فایل سیستم اشتراکی منتقل شده اند ، ولی هنوز مسیر تعریف شده و قابل دسترس برای Nginx همان مسیر /var/www/example.com می باشد.

 

لینک سرور جدید به فضای اشتراکی

در مرحله بعد باید یک  لینک Symbolic Link در سرور برنامه تحت وب جدید که به فایل های WordPress موجود در فضای اشتراکی اشاره می کند ایجاد کنیم.

اگر سرور wordpress-2 را از طریق Snapshot ایجاد کردید ، دستورات زیر را در wordpress-2 وارد کنید :

اگر سرور wordpress-2 را از ابتدا ایجاد کردید ، دستورات زیر را در سرور wordpress-2 وارد کنید :

در مرحله بعد باید برای سرور برنامه تحت وب جدید wordpress-2 ، دسترسی به پایگاه داده ایجاد کنیم.

 

ساخت کاربر پایگاه داده جدید

باید یک کاربر جدید برای اتصال به پایگاه داده که بتواند اتصال را از برنامه به پایگاه داده برقرار کند ایجاد کنیم ، به این دلیل که MySQL ، کاربران را بر اساس نام کاربری و نام هاست شناسایی می کند.

در سرور پایگاه داده mysql-1 ، کنسول mysql را اجرا کنید :

در دستورات MySQL بعدی ، مقادیر مشخص شده را با دقت و همانطور که در تنظیمات WordPress وارد کرده اید جایگزین کنید :

wordpressuser : نام کاربری پایگاه داده MySQL WordPress . مطمئن شوید که همان نام کاربری موجود است.

wordpress2private_IP : آدرس IP سرور مجازی wordpress-2

password : رمز عبور مربوط به نام کاربر پایگاه داده MySQL WordPress . دقت کنید که رمز عبور همان رمز عبور تعیین شده می باشد.

دستور زیر را وارد کنید تا کاربر MySQL جدید ایجاد شده و اتصال سرور WordPress جدید wordpress-2 به پایگاه داده فراهم شود :

در دستور زیر نیز مقادیر ‘wordpressuser’ و ‘wordpress_2_private_IP’ را مانند قبل جایگزین کنید و اگر نام پایگاه داده شما نیز متفاوت است آن را با

“WordPress” جایگزین کنید :

اکنون دومین سرور برنامه تحت وب شما با نام wordpress-2 می تواند به سرور پایگاه داده MySQL با نام mysql-1 وارد شود.

 

هنوز تقسیم بار انجام نشده

دقت کنید تقسیم بار بر روی دو سرور برنامه های تحت وب شما که راه اندازی شده اند ، انجام نشده است زیرا هر سرور به صورت جداگانه از طریق آدرس IP عمومی قابل دسترسی است. الان دو برنامه تحت وب سرور از طریق یک آدرس URL مانند http://example.com/ در دسترس می باشد و ترافیک به هر دو سرور ارسال می شود. در اینجا HAProxy وارد می شود.

 

نصب HAProxy

یک سرور مجازی با شبکه اختصاصی ایجاد کنید و نام آن را haproxy-www قرار دهید.

در سرور مجازی haproxy-www برنامه HAProxy را با دستور apt-get نصب می کنیم :

برای فعال و غیر فعال شدن HAProxy هنگام روشن و خاموش شدن سرور باید آن را توسط اسکریپت init فعال کنیم :

برای فعال کردن HAProxy در اسکریپت init مقدار ENABLED را ۱ قرار دهید :

فایل را ذخیره کرده و خارج شوید. اکنون HAProxy همراه با روشن و خاموش شدن سرور ، به صورت خودکار فعال و غیر فعال می شود. همچنین برای کنترل سرویس HAProxy می توانید از دستور service استفاده کنید. در زیر وضعیت اجرا بودن سرویس را بررسی می کنیم :

سرویس HAProxy در حال اجرا نیست و همینطور باید باشد ، چون هنوز این سرویس را برای استفاده پیکربندی نکرده ایم. در ادامه سرویس HAProxy را طبق طرحی که داشتیم پیکربندی می کنیم.

 

پیکربندی HAProxy

پیکربندی HAProxy به دو قسمت عمده تقسیم می شود :

  • عمومی ( General ) : تنظیم پارامتر های پردازش عمومی
  • پراکسی ها ( Proxies ) : شامل پارامتر های default , listen , frontend و backend

 

پیکربندی HAProxy : General

تمام تنظیمات HAProxy باید بر روی سرور مجازی haproxy-www انجام شود.

در ابتدا یک کپی از فایل تنظیمات پیش فرض haproxy.cfg تهیه می کنیم :

حالا فایل haproxy.cfg را با یک ویرایشگر متن باز می کنیم :

همانطور که مشاهده می کنید در حالا حاضر در این فایل دو قسمت global و default تعریف شده است. در ابتدا به برخی پارامترهای default نگاهی می اندازیم.

در قسمت default خطوط زیر را پیدا کنید :

کلمه “http” را “tcp” در هر دو مورد جایگزین کنید :

قرار دادن HAProxy در حالت tcp باعث بهبود عملکرد تقسیم بار در لایه ۴ می شود. به این معنی که تمامی ترافیک های  ورودی سرور بر روی IP و پورت تنظیم شده به سرور backend مربوطه ارسال می شوند. اگر با این مفاهیم آشنایی ندارید ، لطفا قسمت انواع تقسیم بار را در مطلب معرفی HAProxy مطالعه کنید.

فایل تنظیمات را نبندید ، در ادامه به تنظیمات HAProxy اضافه می کنیم.

 

پیکربندی HAProxy : Proxies

اولین چیزی که باید اضافه کنیم frontend است. در تنظیمات اولیه تقسیم بار در لایه ۴ ، یک frontend با آدرس IP و پورت ای که باید به آن گوش دهد و ترافیک مربوطه را به سرور backend مشخص شده ارسال کند ، تعیین می کنیم.

در انتهای فایل frontend www را اضافه می کنیم. دقت کنید که مقدار haproxy_www_public_IP را با آدرس IP عمومی سرور مجازی haproxy-www جایگزین کنید :

در ادامه به توضیح این تنظیمات می پردازیم :

frontend www : یک frontend با نام www تعریف می کنیم که از آن برای مدیریت ترافیک www استفاده می کنیم

bind haproxy_www_public_IP:80 : در این قسمت باید آدرس IP عمومی سرور haproxy-www را جایگزین کنید. در این قسمت مشخص می کنیم که این frontend ترافیک ورودی چه آدرس IP و چه پورتی را مدیریت کند.

default_backend wordpress-backend : در این قسمت مشخص می کنیم که تمام ترافیک های مربوطه به این frontend به سرور wordpress-backend ارسال شوند ، که در ادامه این سرور backend را تعریف می کنیم.

بعد از اتمام تنظیمات frontend ، تنظیمات را به اضافه کردن backend ادامه می دهیم. دقت کنید که در خطوط تنظیمات زیر آدرس های IP مربوط را به درستی جایگزین کنید :

در ادامه توضیحات این تنظیمات را شرح می دهیم :

backend wordpress-backend : یک backend با نامه wordpress-backend تعریف می کنیم

balance roundrobin : در این قسمت مشخص می کنیم که این backend از الگوریتم Round Robin برای تقسیم بار استفاده کند

mode tcp : در این قسمت مشخص کردیم که این backend از “tcp” یا لایه ۴ استفاده کند

server wordpress-1 : در این قسمت سرور backend را با نام wordpress-1 و آدرس IP سرور ( که آدرس آن را باید در اینجا جایگزین کنید ) و پورت ای که باید در آن به گوش باشد را تعیین می کنیم. مقدار “check” نیز مشخص می کند که سرور به صورت مرتب وضعیت اتصال سرور backend را با این سرور بررسی کند.

server wordpress-2 : مشخصات سرور backend با نام wordpress-2 را مشخص می کند.

فایل را ذخیره کرده و خارج شوید. اکنون سرویس HAProxy آماده راه اندازی می باشد ، ولی قبل از آن باید گزارش گیری آن را فعال کنیم.

 

فعال کردن گزارش گیری HAProxy

فعال کردن گزارش گیری HAProxy خیلی ساده است. ابتدا فایل rsyslog.conf را ویرایش می کنیم :

خطوط زیر را پیدا کرده و از حالت توضیح خارج کنید تا دریافت UDP syslog فعال شود. در نهایت باید به صورت زیر باشد :

حالا باید سرویس rsyslog را مجددا راه اندازی کنیم تا تنظیمات اعمال شوند :

گزارش گیری HAProxy فعال شد و وقتی سرویس HAProxy راه اندازی شود فایل گزارش در مسیر var/log/haproxy.log/ ایجاد می شود.

 

اجرا کردن HAProxy و PHP/Nginx

در سرور haproxy-www دستور زیر را وارد کنید تا تنظیمات انجام شده اعمال شوند :

ممکن است که WordPress نیز نیاز به راه اندازی مجدد توسط PHP و Nginx داشته باشد که به نحوه نصب و تنظیمات سرور شما بستگی دارد.

در سرور wordpress-2 دستورات زیر را اجرا کنید :

اکنون WordPress در هر دو سرور شما در حال اجرا هستند و تقسیم بار نیز انجام شده است.اما هنوز یکی از آخرین تغییرات پیکربندی انجام نشده است.

 

به روز رسانی پیکربندی WordPress

در حال حاضر آدرس URL برنامه تحت وب WordPress شما تغییر کرده است که باید در پیکربندی هر سرور WordPress تغییرات لازم انجام شود.

در هر دو سرور WordPress فایل wp-config.php را ویرایش کنید. مسیر این فایل به محل نصب WordPress در سرور شما بستگی دارد که در این آموزش در این مسیر /var/www/example.com قرار دارد :

خط define(‘DB_NAME’, ‘wordpress’); را پیدا کنید و در بالای این خط ، خطوط زیر را قرار دهید ، دقت کنید که در هنگام قرار دادن خطوط جدید مقادیر آدرس IP را جایگزین کنید :

فایل را ذخیره کرده و خارج شوید. الان آدرس WordPress برای اشاره به تقسیم کننده بار تنظیم شده و به جای سرور اصلی WordPress قرار دارد و به داشبورد wp-admin دسترسی دارید.

 

پایان تنظیمات Load Balancing

مراحل نصب و پیکربندی تقسیم بار Load Balancing بر روی سرور های برنامه های تحت وب شما انجام شد. WordPress تقسیم بار شده شما از طریق آدرس IP عمومی یا نام دامنه سرور تقسیم کننده بار haproxy-www در دسترس است.

 

نتیجه گیری

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

به خاطر داشته باشید که در این راه اندازی برای این که سایت شما به درستی کار کند باید سرور تقسیم کننده بار haproxy-www و سرور پایگاه داده mysql-1 باید به درستی کار کنند و در دسترس باشد. به عبارت دیگر این دو سرور پشتیبانی برای یکدیگر ندارند و اگر یکی از این دو سرور پایین بیاید سایت شما در دسترسی نخواهد بود.

Leave a Reply