2017-01-27 7 views
3

I've been struggling to put SilverStripe behind a load balancerと私はインスタンスをrsyncingと共有ストレージを使用して、ほぼ安定しているが、私はCMSを壊す別の問題を発見した複数の問題を修正してきました。Silverstripe TinyMCEがロードバランサの背後でクラッシュします。

特に、TinyMCEエディタでCMSにリンクを追加しようとすると、ポップアップ画面にページ/ファイルの選択が表示されたときに、tinyMCE.activeEditornullを返すという例外がスローされます。

私は2つのサーバー間のキャッシュディレクトリsilverstripe-cacheをrsyncedきたし、まだほんの数秒のm=timestamp間の食い違いはあるが、私はこれを推測しているtiny_mce_gzip.phpが再びロードするように強制されるようにするには十分です。

私はセッションストレージ共有dbを共有しており、キャッシュディレクトリをrsyncedにして、アプリケーションを展開するためにすべてを同期するようにCodeDeployを使用してください。他のストレージ領域で異なるmタイムスタンプが発生する可能性はありますか? SilverStripe CMSがスティッキーセッションなしでロードバランサの背後で使用されていると成功した人はいますか?

+0

AWSは少なくとも「スティッキーセッション」の設定を提供しています(他のロードバランサもそうしていると思います)。それは同じ要求をするたびに同じサーバーに同じユーザーを置くでしょう。問題の解決策ではありませんが、他のすべてが失敗するかどうか調べる価値があります。 – apokryfos

+0

@apokryfosええ私はこれまで、ロードバランシングで負荷の問題を抱えていました。 – Rudiger

答えて

3

HTMLエディタのgzipバージョンを無効にすることができます。私はこれが以前に起こるのを見た。 config/config.ymlに以下を追加してください: HTMLEditorField: use_gzip: false

その後、完全にフラッシュしてもう一度お試しください。

別のオプションは、JavaScriptが正しく同期していないかどうかです。そのためには、?m=12345の構築方法を変更する必要があります。デフォルトでは、タイムスタンプに基づいて構築されています。

私はmd5ベースのものを掘り下げることができるかどうかを確認します。問題が解決しない場合があります。

*編集

ここ

屋は、あなたのプロジェクトで、このどこかを作成してみてください、行く、と私たちはに走ったとき、実際の仕事は、私の同僚の一つである_config.php Requirements::set_backend(new MysiteRequirementsBackend()); https://gist.github.com/Firesphere/794dc0b5a8508cd4c192a1fc88271bbf

に以下を追加します。同じ問題。

+0

md5はファイル全体から作成されるので、md5の更新が変更されたら?パフォーマンスに影響はありますか? – Rudiger

+0

はい、それはマイナーなパフォーマンスの影響です。私は完全にはわかりませんが、壊れたHTMLEditorFieldよりも数ミリ秒遅い稼働中のCMSを好むでしょうか? ファイル全体のMD5を作成するポイントは、ロードバランサの背後で動作するように独自のものにすることです。 これはCMSにのみ適用されます。個人的にCMSの速度に関する苦情はありませんでした(SilverStripeプラットフォーム) –

+0

ええ、あなたが何を意味しているか知っていて、気付いていたかどうかを知りたいと思っていました。今すぐ実装する。 – Rudiger

関連する問題