Page 1 of 2

Несколько серверов и распределение нагрузки?

Posted: Tue Dec 20, 2016 12:25 pm
by Shats
Расскажите, как лучше всего делать кластер из двух или больше серверов для одного проекта.
Нужно иметь независимую от сервера/хостера систему, чтобы при выпадении одного сервера/хостера, проект продолжал работать.

Т.е. каждый сервер работает независимо от второго, но они синхронизируют между собой данные. При выпадении одного, второй берет на себя всю нагрузку. Когда второй включается, они синхронизируют данные и опять работают синхронно, например по Round robin DNS (https://ru.wikipedia.org/wiki/Round_robin_DNS)

Re: Несколько серверов и распределение нагрузки?

Posted: Tue Dec 20, 2016 4:30 pm
by admin
Взять 2 сервака
поставить смарт на обоих
в mysql настроить репликацию между этими 2мя серваками

все.

Re: Несколько серверов и распределение нагрузки?

Posted: Tue Dec 20, 2016 8:29 pm
by Shats
Только репликацию в mysql или нужно всю папку SCJ реплицировать (тумбы, шаблоны и т.д.)?

Re: Несколько серверов и распределение нагрузки?

Posted: Wed Dec 21, 2016 7:57 am
by admin
Шаблоны в базе - те они реплицированы сразу на уровне мускла.
Тумба - статика, это на усмотрение админа , может быть cdn, может просто синхронизация, тут уж от скрипта никак не зависит.

Re: Несколько серверов и распределение нагрузки?

Posted: Fri Dec 30, 2016 4:06 pm
by Shats
Хорошо, на уровне скрипта и статики понятно. А есть ли подводные камни на уровне серверов?

Например, кроны должны работать одновременно на обоих серверах, нет ли конфликта?
Что еще надо смотреть при настройке такой работы мастер + мастер?

Re: Несколько серверов и распределение нагрузки?

Posted: Fri Dec 30, 2016 8:56 pm
by admin
А можно даже не ставить кроны оба
Можно запускать крон на доп серваке тогда когда на него нагрузка приходит.

Re: Несколько серверов и распределение нагрузки?

Posted: Tue Jan 10, 2017 1:27 pm
by Shats
Уточню. Означает ли Ваш ответ, что крон должен работать на одном сервере и все данные с него должны синкаться на другие раздающие сервера, а работа крона одновременно на нескольких серверах нежелательна?

Re: Несколько серверов и распределение нагрузки?

Posted: Tue Jan 10, 2017 4:58 pm
by GangstaBros
Shats wrote:Уточню. Означает ли Ваш ответ, что крон должен работать на одном сервере и все данные с него должны синкаться на другие раздающие сервера, а работа крона одновременно на нескольких серверах нежелательна?
Лемон буквально понял задачу - сделать бэкапный сервер , на который пойдет весь трафик в случае дауна основного .
работать параллельно , деля нагрузку на 2 сервера и более , они не будут

поэтому нет смысла держать крон включенным на запасном сервере - все равно он будет копией основого . как только падает первый - включаем кроны на втором

Re: Несколько серверов и распределение нагрузки?

Posted: Tue Jan 10, 2017 5:10 pm
by admin
Технически можно сделать что б было 2 фронта, но я сомневаюсь что есть достаточно трафа что б не справился 1 сервак, упирается базу обычно , именно ее если что надо масштаблировать.

Re: Несколько серверов и распределение нагрузки?

Posted: Tue Jan 10, 2017 5:16 pm
by Shats
admin wrote:Технически можно сделать что б было 2 фронта, но я сомневаюсь что есть достаточно трафа что б не справился 1 сервак, упирается базу обычно , именно ее если что надо масштаблировать.
Вопрос не в трафе больше, а в резервировании проекта при падении сервера/хостера. И без проблем запустятся ли кроны на slave если упадет master.

Можно больше деталей про мастер-мастер?
1. Как настраивать кроны?
2. Как правильно настраивать синхронизацию базы?
3. Можно ли работать в админке slave (на котором траф) пользователям или только на master?