私は Jelastic を使用して、Glassfish サーバーのクラスターを簡単にデプロイしています。ロード バランサーとして、NGINX サーバーもこのクラスターの前に配置されます。基本的に、各リクエストは最初にNGINXサーバーに送られ、NGINXサーバーはリクエストを送信するGlassfishサーバーを選択します。
このチュートリアルに従って、リモート EJB を含む単純なアプリケーションをクラスターにデプロイしました。それは正常に動作します。アプリケーションを起動するたびに、別のマシンから EJB のインスタンスを取得します。ただし、この EJB へのすべての呼び出しは、アプリケーションを再起動するまで常に同じマシンによって処理されます。
私が望むのは、リモート EJB からメソッドを呼び出すたびに、クラスター内の別のマシンによって処理されることです。私がしたことは次のとおりです。
- NGINX conf ファイルの sticky オプションを削除します。
- <per-request-load-balancing>true</per-request-load-balancing>を glassfish-ejb-jar.xmlに追加します
残念ながら、問題はまだ残っています...誰かが理由を知っていますか? ありがとうございました