Форум → Программирование → PHP для идиотов → Репликация
Репликация
-
Как кто реализует программного мастер-слейв репликацию у себя? Я делаю через статическую фабрику, в которой рандомным образом выбирается из конфигурационного файла сервер из списка заранее заданных серверов.
Например, пользователь хочет посмотреть список статей, тогда в контроллере устанавливаем соединение со слейвом вот так:
$connection = Db_Connection::factory()->getSlave();
и потом через это соединение работаем на чтение с БД.
Если пользователь добавляет комментарий, тогда в контроллере выбирается мастер сервер $connection = Db_Connection::factory()->getMaster(); и делается вставка.
;пример конф. файла
master.srv1.host = "localhost"
master.srv1.port = "3306"
master.srv1.dbname = "cms"
master.srv1.username = "root"
master.srv1.password = ""
master.srv1.charset = "utf8"
slave.srv2.host = "192.168.0.2"
slave.srv2.port = "3306"
slave.srv2.dbname = "cms"
slave.srv2.username = "root"
slave.srv2.password = ""
slave.srv2.charset = "utf8"
slave.srv3.host = "192.168.0.1"
slave.srv3.port = "3306"
slave.srv3.dbname = "cms"
slave.srv3.username = "root"
slave.srv3.password = ""
slave.srv3.charset = "utf8"
Может кто делает эту процедуру более изящно без такого хардкода или есть идеи? -
16 марта 2011 г. 7:50, спустя 16 минут 27 секунд
Дык а что именно-то не устраивает, я не понял?
У меня список слейвов в массиве хранится.
Скрипт делает shuffle, а дальше идет по массиву до тех пор, пока не приконектился успешно. -
16 марта 2011 г. 7:53, спустя 3 минуты 9 секунд
я просто хочу узнать как это делают другие, может я как то это неправильно делаю:) + проблема когда мастер упадетСпустя 19 сек.как эту проблему решить я пока незнаю -
16 марта 2011 г. 7:56, спустя 2 минуты 21 секунду
ну есть еще репликация master-master, т.е. их может быть два, правда мы ее пока не используем.
проблема когда мастер упадет
просто есть резервный master - полная копия, если что не него переключат в ручном режиме …. -
16 марта 2011 г. 8:12, спустя 16 минут 23 секунды
ясно, спс. я вот подумал сделать это программно когда падает мастер сервер тогда какой-то из слейвов становится мастером на время пока старый мастер не появится.Спустя 45 сек.не появится всмысле не станет работать в штатном режиме
Пожалуйста, авторизуйтесь, чтобы написать комментарий!