2

Zend Framework(1.1)でデータベース接続を管理する一般的な方法を探しています。

ZFアプリケーションはAmazonクラウドでホストされており、RDSソリューションを使用しています。リードレプリカサーバーの追加は簡単ですが、アプリケーションでサポートを追加したいと思います。私たちはそれを処理するための最良で簡単な解決策を探しています。どんな提案も素晴らしいでしょう。

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

mysqlプロキシについても読みましたが、アプリケーションに別のソフトウェアレイヤーを導入することはしません。

4

2 に答える 2

1

本当にZF1.1を使用していますか?またはZF1.10/ 1.11?後者の場合、Zend_Application_Resource_Multidbを使用してさまざまなデータベースリソースを設定できます。

自動的に切り替える必要がある場合(負荷分散)、多くの方法があります。MySQL用のLoadBalancersについては知りませんが、プログラムで、ブートストラップでデフォルトのアダプターをmultidbの1つにランダムに切り替えることができます。次に、アプリケーションはリクエストごとにランダムデータベースを使用します(Zend_Db_Table :: getDefaultAdapter()/ Zend_Db_Table :: getAdapter()を使用する場合)

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

于 2012-01-31T10:47:22.707 に答える
-1

関連するクラスを上書きして、クエリの送信先のデータベースを決定(読み取りまたは書き込み)することができます。

于 2011-10-21T08:35:19.540 に答える