Enhancement(機能追加・改善) #1674
DBレプリケーション運用時に、参照系クエリの参照先を明示的にmasterに切り替えたい
開始日:
2010-10-14
期日:
進捗率:
0%
説明
OpenPNE3の運用でMySQLのレプリケーション機能を利用する場合、スレーブ遅延の影響を回避するためにSELECTクエリの参照先を明示的にmasterに切り替えたい場合があります。
github.com/tozuka/OpenPNE3.git の topic-force-master-201010 ブランチに
- コード中の特定の区間でSELECTクエリの参照先を強制的にmasterに
- アクション単位で 〃
するためのパッチをコミットしています (1d875793f7a6d614ce82) 。取り込みをお願いします。
本パッチの用法¶
1. コード中の特定の区間で強制的にmaster参照¶
masterを強制参照したい区間を
opDoctrineQuery::beginForcingMasterConnection(); ... opDoctrineQuery::endForcingMasterConnection();で囲みます。
アクション終了までmaster強制参照のままでよい場合は endForcing... は不要です。
アクション全体でmasterを強制参照したい場合は次の「アクション単位で…」をご検討ください。
2. アクション単位で強制的にmaster参照¶
masterを強制参照したいアクションについて、apps/XX_frontend/config/routing.yml 等適切な箇所で
someModule_someAction: url: /someModule/someAction class: opForceMasterRoute param: { module: someModule, action: someAction }のように記述してください。(記述例は config/routing.yml.sample にあります)
履歴
#1 Mutsumi Imamura が12年以上前に更新
- 対象バージョン を OpenPNE 3.7.0 にセット
#2 Shouta Kashiwagi が約12年前に更新
- 対象バージョン を OpenPNE 3.7.0 から 252 に変更
#3 Shouta Kashiwagi が約12年前に更新
- 対象バージョン を 252 から OpenPNE 3.8.x に変更