Mysqlnd_ms

Koc

Новичок
Привет, братюни!

Что вы думаете по этому поводу? Сам я как-то до сих пор с репликацией дел не имел, поэтому всецело полагаюсь на ваше мнение.

У меня сейчас доктрина2 и два EntityManager'а:

PHP:
$this->getEntityManager('read')->createQuery('SELECT f.* FROM Foo f')

$foo = new Foo();
$foo->setBar('bar');
$this->getEntityManager('write')
  ->presist($foo)
  ->flush();
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
когда нужна простейшая репликация "все select - туда, все update - сюда" с минимальными затратами человекочасов - нормально
 

zerkms

TDD infected
Команда форума
когда нужна простейшая репликация "все select - туда, все update - сюда"
и очень клёвые баги типа "аааа, я же только что добавил комент, почему он не появился"
 

Koc

Новичок
а, я думал что-то ядренее, а тут оно так просто оказывается

можно писать в сессию, что следующий запрос идет в мастер и через mysqlnd_ms_set_user_pick_server($callable) в $callable это разруливать
 

флоппик

promotor fidei
Команда форума
Партнер клуба
С таким же успехом можно эти данные оставить в сессии, и вообще не трогать мастер )
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Ну, можно как всякие фейсбуки и гуглоплюсы — отображать на клиенте отправленный контент, и не трогать опять-таки мастер )
Главный минус, что если нагло переключать в коде тип соединения, то так ломается абстракция: не получится написать функцию, которая хочет писать в БД, и не заморачиватся переключениями соединения. Потому что это надо будет везде ручками ставить мастера, дергать нужную функцию, делать в ней обратно слейв...
 
Сверху