SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 28.05.2009 18:29:59

blackmanos
Участник
Зарегистрирован: 28.05.2009
Сообщений: 1

PHP + Несколько SLAVE

Здравствуйте!
Хотел бы узнать если где-то готовая реализация балансировки подключения селектов к нескольким slave  серверам или все таки это все нужно делать самому???
А то скоко не рылся народ пишет мол вообще

Посмотрите интерфейс mysql для того же PHP и вы наткнётесь на абсолютно фантастическую штуку -- достаточно лишь указать список всех slave серверов и он будет читать из них, а писать в master.

А ни примеров ни где почитать нету...

Неактивен

 

#2 29.05.2009 02:23:31

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: PHP + Несколько SLAVE

Про фантастическую штуку ничего не знаю, если узнаете — расскажите нам тоже, пожалуйста smile
Что касается балансировки — да, обычно пишут свой код. Дело в том, что от задачи к задаче
такая балансировка может варьироваться.

Два контрастных случая, чтобы не быть голословным.

Случай раз. Сайт с очень большой нагрузкой простыми запросами. Запросы проходят одиночно
и быстно, но их достаточно много. Пишется балансировщик, который просто тупо разбрасывает
запросы по серверам, при этом нет гарантии, что от одного и того же клиента запрос попадет на
тот же физический сервер. Зато разбрасывает быстро.

Случай два. Клиенты со сложными запросами. Клиент приходит со сложными запросами: он
создает временные таблицы, переменные, оперирует транзакциями. Если такого клиента посадить
на балансировщик из первого случая, то ничего не заработает — его последующий запрос, который
опирается на созданную транзакцию, уйдет на другой сервер, и возникнет ошибка. В таких случаях
тоже можно балансировать, но нужно быть аккуратнее — нужно явно клиентом показывать, когда
он «берет» соединение, и уметь обрабатывать ошибки (например, сервер умер в процессе работы
с клиентом).

P.S. Есть готовые решения типа mysqlproxy, но у них есть свои недостатки. В частности, mysqlproxy
не очень (даже, наверное, «очень не») хорошо работает с кодировками.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson