Zend Framework и поддержка MySQL рабов - PullRequest
2 голосов
/ 20 октября 2011

Я ищу общий способ управления соединениями с базой данных в Zend Framework (1.1).

Наше приложение ZF размещено в облаке amazon, и мы используем их решение RDS. Добавить серверы чтения реплик легко, однако мы хотели бы добавить поддержку для этого в нашем приложении. Мы ищем лучшее и простое решение для обработки. Любые предложения будут великолепны.

Я знаю, как переключаться между соединениями с базой данных в Zend_Db_Select и Zend_Db_Tables, но я ищу как можно более централизованную и автоматическую среду, поэтому нам не нужно настраивать поддержку ведомого в каждом запросе / модели.

Я также читал о прокси-сервере mysql, но не хочу, чтобы в нашем приложении был другой программный уровень.

Ответы [ 2 ]

1 голос
/ 31 января 2012

Вы действительно используете ZF 1.1? Или ZF 1.10 / 1.11? В последнем случае вы можете использовать Zend_Application_Resource_Multidb для настройки различных ресурсов базы данных.

Если вам нужно переключиться автоматически (балансировка нагрузки), есть много способов. Я не знаю о LoadBalancers для MySQL, но программно вы можете произвольно переключить адаптер по умолчанию при загрузке на одну из мультибайт. Тогда ваше приложение использует для запроса случайную базу данных (если вы используете Zend_Db_Table :: getDefaultAdapter () / Zend_Db_Table :: getAdapter ())

Или вы создаете собственный прокси-класс, который управляет этим для вас. Может быть полезна дополнительная информация о вашей среде и ваших точных сценариях использования.

0 голосов
/ 21 октября 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...