Я хочу создать резервную сеть, которая использует решение для балансировки нагрузки для перенаправления трафика между двумя серверами. Я буду использовать балансировщик нагрузки HaProxy.
Пример: Трафик -> Haproxy -> Server1 или Server2
Теперь и Server1, и Server2 будут иметь litespeed и MySQL (и различные другие компоненты, но они не требуют избыточности)
поэтому, если Server1 или Server2 будут исключены из уравнения из-за высокой нагрузки, простоя или атаки, останется сервер, который сможет обрабатывать весь входящий трафик.
Все в порядке, я просто объяснял сценарий, но мне нужно знать, что все файлы, обновленные на сервере 1, необходимо синхронизировать с сервером 2 и наоборот. Для файлов допустима небольшая задержка, например 2-5 минут, тогда как изменения базы данных, сделанные на сервере Server1 или Server2, необходимо реплицировать почти мгновенно.
Так возможно ли это? Я не хочу тратить слишком много денег на программное обеспечение и т. Д. P.S два сервера находятся на полпути друг от друга, поэтому я не ожидаю мгновенной репликации настолько быстро, насколько это возможно.
Заранее спасибо за вашу помощь.
Конечно, это возможно. Для общего хранилища на веб-узлах посмотрите GlusterFS.
Достичь требуемой избыточности базы данных будет нелегко, если два сервера находятся в разных центрах обработки данных. Я бы добавил сервер в одно место, чтобы вы могли настроить кластер HA для Mysql с плавающим IP-адресом (с использованием DRBD и Heartbeat). Затем вы можете настроить репликацию на внешний 3-й сервер для аварийного восстановления.
Для приличного уровня избыточности вам нужно, чтобы ваши веб-серверы также были отделены от серверов баз данных. Вам действительно стоит ознакомиться с «Руководством по резервному облачному хостингу» от RackerHacker, поскольку оно охватывает большую часть общей настройки:
http://rackerhacker.com/redundant-cloud-hosting-configuration-guide/