я просто арендую 3 сервера vps с этим:
4 ГБ оперативной памяти
150 ГБ жесткий диск
2 процессора
6 ip-адрес
Итак, у нас есть vps1, vps2 и vps3, и я думаю
распространять услуги следующим образом:
VPS1 - интерфейс
+ DNS-сервер
+ Сервер MySql
+ NFS (обмен файлами между vps2 и vps3)
VPS2, VPS3 - серверы приложений
+ PHP
+ Apache
+ Lighhttpd (статические файлы)
+ Постфикс
+ Голубятня
vps1 имеет все файлы для приложений, файлы php, файлы js, файлы css, файлы html и т. д. и т. д. VPS2 и VPS3 монтируют эти файлы по сети.
vps1 получает запрос из Интернета, через порт (80,110,25) передает запрос на VPS2 или VPS3, если требуются данные, может подключиться к серверу mysql в VPS1
Есть ли хорошая идея в VPS1 установить HAProxy для балансировки нагрузки на VPS2 и VPS3?
Может ли кто-нибудь предложить мне лучшую настройку, советы или идеи?
Спасибо
Большинство провайдеров VPS также предоставляют балансировку нагрузки, разгрузку SSL и DNS как услугу. Если ваши потребности не особенные, вам лучше сначала попытаться воспользоваться их услугами, замена их собственными решениями только усложнит ситуацию.
Исходящая электронная почта - это тривиальная служба, которую можно установить на всех экземплярах, как заявил lVlint67.
Остается бороться только с webapp, dovecot и mysql за кулисами. Конечно, вам могут потребоваться динамические изменения DNS, dovecot и smtp, поэтому YMMV.
Мы используем haproxy для балансировки нагрузки.
У вас есть несколько вопиющих недостатков
1) если vps1 выходит из строя, haproxy и все ваши сетевые монтирования ломаются. и mysql ломается ....
Лучшей настройкой было бы:
У меня нет опыта работы с dovecot (на самом деле у меня только плохо ..), но я считаю, что он должен работать за виртуальным ip и haproxy.
При такой настройке вы можете потерять любой 1 сервер и продолжать работу всех служб.
Если вы потеряете 2, mysql-cluster расстроится, но все остальное будет работать.