2011-10-20 15 views
2

Zend Framework(1.1)でデータベース接続を管理する一般的な方法を探しています。Zend Frameworkとmysqlスレーブのサポート

ZFアプリケーションはアマゾンクラウドでホストされており、RDSソリューションを使用しています。読み取ったレプリカサーバーを追加するのは簡単ですが、アプリケーションにサポートを追加したいと考えています。我々はそれを処理するための最高の&簡単なソリューションを探しています。どんな提案も素晴らしいだろう。

私はZend_Db_SelectZend_Db_Tablesでデータベース接続を切り替える方法を知っていますが、もっと集中化された自動フレームワークを可能な限り探していますので、各クエリでスレーブサポートを設定する必要はありません/モデル。

私はmysqlプロキシについても読んでいますが、私のアプリケーションでは別のソフトウェア層を紹介していません。

答えて

1

実際にZF 1.1を使用していますか?またはZF 1.10/1.11?後者の場合は、Zend_Application_Resource_Multidbを使用して、異なるデータベースリソースを設定できます。

自動的に切り替える必要がある場合(ロードバランシング)にはさまざまな方法があります。私はMySQL用のLoadBalancersについては知らないが、プログラムでは、マルチアダプタのうちの1つにブートストラップする際にデフォルトのアダプタをランダムに切り替えることができます。 (Zend_Db_Table :: getDefaultAdapter()/ Zend_Db_Table :: getAdapter()を使用している場合)アプリケーションごとにリクエストを使用します。

または、これを管理する独自のプロキシクラスを作成します。あなたの環境に関する情報が多く、正確なユースケースが役立つ可能性があります。

-1

関連するクラスを上書きして、クエリを送信するデータベースを決定(読み書き)できます。