دوست عزیز،
برای Clustering کردن، بستگی داره که شما در چه سطحی مایل به انجام این قضیه باشید. مثلاً میتونید یک نرم افزار رو Clustering کنید که برای این کار احتمالاً باید از Platform هایی مثل Java استفاده کنید که خود دارای امکانات Application Clustering هستند.
راه دیگه ای که داره توسط ما هم از اون استفاده میشه، Cluster کردن Apache و MySQL بر روی چندین سرور هست. برای این کار، باید DNS سروری داشته باشید که بر اساس Load سرور ها، IP های مختلف رو به کاربر در هنگام DNS Querry بده، بدین صورت کاربر شماره یک ، آدرس IP اول شما رو از DNS Server میگیره و کاربر شما دو هم آدرس شماره دوم رو و الی آخر
کاربر یک اتصال به سرور Apache شماره یک شما به IP مثلاً : xxx.xxx.xxx.1
کاربر دو اتصال به سرور Apache شماره دو شما به IP مثلاً : xxx.xxx.xxx.2
کاربر سه اتصال به سرور Apache شماره سه شما به IP مثلاً : xxx.xxx.xxx.3
....
حالا شما باید دارای چندین نسخه از سایتتون بر روی سرور های Apache تون باشید که برای این کار از نرم افزار های محتلفی برای Sync کردن اطلاعات می تونید استفاده کنید. در مورد MySQL یا SQL Server هم دقیقاً همین طور هست یعنی تعدادی سرور MySQL یا SQL هست که Cluster هستن. نرم افزار MySQL خودش از طریق MySQL Clustering از این امکان پشتیبانی می کنه، بنابر این شما می تونید تعداد نامحدودی سرور MySQL داشته باشید که Sync هستن و به صورت Cluster با هم کار می کنند.
این نوع کلاستر کاملاً Fail Safe هست، چرا که در صورت داون بودن هر کدم از سرور ها، سرور دیگری پاسخگوی کاربران خواهد بود.