mysqli, репликация мастер-слэйв, как задать список слейвов..

AndreyKl

Новичок
mysqli, репликация мастер-слэйв, как задать список слейвов..

Доброго времени суток.

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

С базой (настройками) всё более менее ясно. Заводим второй сервер, указваем ему id, запускаем slave и вроде как должно всё работать. А что делать с php? как ему указать что нужно делать инсерты/апдейты на мастер, а селекты на слейв?

смотрел на php.net документацию http://ru.php.net/manual/ru/book.mysqli.php

Но легче не стало. По всей видимости задумка в том, что вручную нужно определять тип запроса (например, с помощью функции mysqli-rpl-query-type или совсем "вручную" ибо народ там жалуется что php падает при использовании данной ф-ции) и после этого руками выбрать куда его посылать используя одну из функций (mysqli-slave-query , mysqli-master-query ).

Собственное, всё вроде ясно. Нужно перебирать слой абстракции для БД и добавлять в нужное место вызовы этих самых функций, но возникает два вопроса:

1) Где и как указывать конфигурацию базы, к которой будет выполнятся запрос по slave_query и где и как указвать базу для master_query? Или же это будет сделано автоматически, а в настройках нужно лишь указать мастер?

2) Функции эти (mysqli_master_query, mysqli_slave_query) "This function has been DEPRECATED and REMOVED as of PHP 5.3.0."
Что позволяет надеятся на то, что процесс автоматизируют в 5.3.0 - соответственно вопрос - где бы почитать "как это будет"?

Ну и третий, более общий вопрос - может я чего не так понял?

Спасибо.
 

AndreyKl

Новичок
Прокси посмотрел, интересно. Спасибо. Похоже, им и воспользуюсь.

Вопрос всё ещё открыт, если кто знаком с ответом.
 

fixxxer

К.О.
Партнер клуба
ручками надо такую логику делать. в своем классе работы с базой.

простой пример. юзер написал комментарий, произошел инсерт на мастер. после поста редиректнулись, читаем со слейва, а реплика еще не дошла (бывает? бывает).

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