Как мне провести рефакторинг моего кода (PHP и MySQL), чтобы он работал более эффективно с конфигурацией базы данных Master / Slave?

Я разработал веб-приложение с использованием PHP и MySQL, которое работает с одного сервера. Когда я прихожу к масштабированию и нуждаюсь в отдельном сервере базы данных, а затем, в конечном итоге, мне нужна конфигурация главного / подчиненного серверов баз данных, как мне обновить свой код, чтобы подключиться к правильному серверу? У меня есть данные о подключении к базе данных, хранящиеся в отдельном файле, поэтому я могу легко их обновить. Но что происходит, когда у меня есть мастер (на котором будут выполняться все записи) и подчиненный (для всех операций чтения). Как лучше всего оптимизировать мой PHP-код, есть ли хороший ресурс / примеры того, как структурировать MySQL для главных / подчиненных серверов?

ваше здоровье


person undefined    schedule 01.04.2011    source источник


Ответы (1)


Лично я бы реорганизовал код, чтобы отключить доступ к базе данных непосредственно из основной программы, и вместо этого создал бы класс «Доступ к данным», который отвечал бы за определение того, какие действия были «прочитаны», а какие - «записаны», и отправлял их в соответствующий сервер (ы).

Таким образом, весь код, который знает о настройке ведомого / ведущего, будет в одном месте, и вам не нужно будет изменять основную программу, за исключением того, что она получит данные из класса «Доступ к данным», а не из базу данных напрямую.

person srkiNZ84    schedule 15.04.2011