1

DEV 環境と PROD 環境の両方で問題なく動作する Grails 2.0.0 Web アプリケーションがあります。どちらの環境も、Tomcat 7 を実行している CentOS 6.0 サーバー上にあります。

顧客の要件により、Amazon の Web サービスを使用してアプリケーションをクラウドにデプロイする任務を負っています。これはできましたが、セッション データを読み書きするフォーム フィールド (ドロップダウン ボックスなど) で奇妙な動作が見られます。たとえば、ドロップダウン ボックスから値を選択すると、選択した値をセッションに保存し、ajax 呼び出しの後に呼び出して、対応する国データのリストをフィルター処理する必要があります。「バミューダ」を選択すると、実際にはドロップダウン値が (誤って) リストから (ajax 呼び出しの後) 選択しなかった別の国に変更されます。

セッション変数に間違った国が含まれていることを確認しましたが、すべてのアプリケーション固有のコードが正しく機能していることも確認しました (DEV および PROD 環境で動作するため)。この問題は、環境構成が異なることが原因である可能性があると思います。私の DEV/PROD 環境は CentOS 6.0 を使用していますが、私の Amazon Cloud 環境は Red Hat Linux を使用しています。Amazon は CentOS イメージを提供していないため、Red Hat が最も近いフレーバーでした。

構成の違いが機能に影響を与えているのではないかと思っています。あるいは、Amazon 固有のものかもしれません。たとえば、すべての着信/発信トラフィックは、Amazon の内部の脅威管理ゲートウェイ (TMG) を通過します。おそらくこれはセッションデータに影響を与えていますか?

似たような経験をした人はいますか?または、誰かが私を正しい方向に向けることができますか? この問題は何週間も私に影響を与えています...

ありがとう!

4

2 に答える 2

0

RedHad、CentOS、および Amazon Linux には、おそらく実行に干渉しないいくつかの追加パッケージを除いて、ほとんど同じパッケージがあります。

ネットワーク パケットはブロックされますが、パケットの内容は変更されないため、Amazon の内部 TMG も問題ではないと思います。

次に、Tomcat、grails、およびアプリケーションのみが持続します。

  1. grails のバージョンを 2.0.4 または 2.1.0 にアップグレードしようとしましたか?
  2. ajax リクエストが実際に処理されていることをログで確認しましたか?
  3. Xms、Xmx、および PermGen tomcat の構成は何ですか?
  4. EC2 VM のサイズは? m1.micro の場合、m1.small に変更する必要がありますか?

また、EC2、Auto Scaling Group、Elastic Load Balance、Cloud Watch を使用するElastic Beanstalkと呼ばれる他の A​​mazon 製品を試すことをお勧めします。これは、環境を管理するための非常に簡素化され統合されたコンソールを提供し、さまざまな構成を非常に迅速にテストできるようにします。

現在、MySQL がインストールされている場合は、それを MySQL RDS インスタンスに置き換えて、EC2 インスタンスを Web アプリケーション用に残しておくことをお勧めします。

于 2012-08-09T11:30:54.120 に答える
0

問題は、Microsoft TMG がキャッシュを実行するように設定されていたため、問題が発生したことでした。

于 2012-08-30T15:54:25.177 に答える