MySQL レプリケーションも使用して負荷分散したい CodeIgniter アプリケーションで、非常に厄介な問題があります。
他の PHP フレームワークでは、データを保存する直前にデータソースを切り替えることができるため (たとえば、CakePHP ではこれが可能です)、これは 5 分間の作業になりますが、CodeIgniter では別の話のようです。私の問題は、アプリケーションがレガシーであり、負荷を分散する必要があるため、すべてのハードウェアのセットアップが既に完了しており、ファイルシステムが同期しており、データベースにスレーブがあり、必要に応じて更新されていることですが、2 つ目の CodeIgniter を作成する必要があります。スレーブから読み取り、マスターに書き込むアプリケーション。
私はすでに解決策を見つけましたが、アプリケーションはレガシーであるため、すでに機能しているものを破壊する可能性があるため、その内部には入りたくありません (人々がアプリ内で支払いを行っており、ライブでもあるため、事態をさらに悪化させるため、かなり賢明です) )。
私が見つけた解決策は、アプリケーション内のすべてのモデルを変更するものです。詳細情報として、CodeIgniter データベース ドライバー (この場合はCI_DB_mysql_driver ) には、接続などを切り替える方法がありません。
この問題に取り組むための別の提案はありますか? (少し邪魔すぎると思うすべてのモデルを変更することに加えて)