UIが短時間でランダムに失敗する

こんにちは!

外部のPostgresとRedisを使用して、独自の「安定版」Discourseをインストールしました。
アーキテクチャについて正確に言うと、Azureには、1つのLoadBalancer、Discourseコンテナをホストする1つのVM(バックアップと画像用のNFS共有付き)、1つのPostgres、1つのRedisがあります。

独自のロゴ、プラグインdiscourse-calendar、discourse-news(その他にもありますが、ここでは無関係です)でカスタマイズしました。

ランダムに、約30分間、一部のUIに問題が発生します。

  • メインロゴがデフォルトのものに戻る
  • ファビコンがデフォルトのものに戻る
  • discourse-calendarによって生成された「upcoming-events」ページが消える(リンクがなく、URLにアクセスしても404応答)
  • discourse-newsに与えられたカスタムロゴ(URL付き)が消える

その後、元に戻ります。

これに関するログは何もありません。
ブラウザのコンソールにも何も表示されません。
一つ言えるのは、この期間中、Redisのキャッシュミスが増加していることです。

これをトラブルシューティングするのを手伝ってくれる人はいますか?関連するログがどこにあるのかさえわかりません…

標準のインストールからはかけ離れすぎているため、私には何もわかりません。:slight_smile:

お探しのものは見つかりましたか?

「いいね!」 2

いいえ、見つかりませんでした。
そして、私の問題は時々発生し続けています :disappointed_relieved:
手がかりをどこで探せばいいのか分かりません…

一番簡単なのは、stabs/standard インストールに切り替えることでしょう。そちらの方が安価でもあります。一体何が問題なのか想像もつきません。

「いいね!」 1

@pfaffman 私の観点からは標準的なインストールを使用しました。
外部DBとRedisを使用する機能を使用した以外は。
しかし、標準インストールの説明にあるapp.yamlとdocker build and runを使用しました。

高可用性と異なるスケーリング戦略を提供するためにこれを行いました。完全にスタンドアロンのデプロイメントでは、垂直スケーリング(ノードをスケールアップ)しかできず、高可用性にはできません。

なるほど、それはうまくいくはずですね。仮想マシンをゼロにスケールダウンしていて、表示されているのはブラウザのキャッシュサイトである可能性が高いです。あるいは、ロードバランサーがホストに接続できていない別の方法があるのかもしれません。あるいは、Discourseが実際のIPを取得できておらず、レート制限を受けている可能性もあります(通常はエラーが表示されます)。

しかし、あなたの高可用性機能は低可用性を提供しています。スポーツサイトのように、普段は数十人のユーザーしかいないのに、他の時期には数千人になるという場合を除き、スケーリングは問題解決よりも問題を引き起こす可能性が高いでしょう。

ですから、まず最初にロードバランサーを削除して、それが問題を解決するかどうかを確認することをお勧めします。それから、今後の対応を決定してください。月に一度しか発生しない場合、診断は容易ではありません。