現在のソリューションでは、Jelasticはサーバーペア間のセッションレプリケーションをセットアップします。 これらのペアはクラスターを形成します。
ユーザーが最初にアプリケーションにアクセスすると、バランサーはクラスターの1つにあるインスタンスの1つにリクエストをリダイレクトします。
セッション全体を通して、ユーザーは同じインスタンスを使用し続けます(いわゆるスティッキーセッションが機能します)。 インスタンスの1つがクラッシュすると、そのインスタンスで処理されたユーザーリクエストは、同じクラスターの別のインスタンスに自動的に転送されます。 複製のおかげで、2番目のインスタンスはすでに倒れた「同僚」のすべてのセッションを持っているため、エンドユーザーは何にも気付かないでしょう。
もちろん、Jelasticの垂直スケーリングはこの「セッションのゲーム」に完全に適合します。上記のインスタンスは、必要に応じて、二重の負荷に従ってメモリとCPUを受け取ります。
クラスタ内の両方のインスタンスが落ちることはほとんどありませんが、それでもこのオプションを提供しています。 この場合、すべてのユーザーが別のクラスターにリダイレクトされます。 もちろん、この場合、古いセッションは複製されませんが、それにもかかわらず、アプリケーションはユーザー要求を処理します。
このようなレプリケーションメカニズムを手動で設定することは非常に難しく、エラーや時間の損失を伴います。 さらに、すべてのプログラマーがサーバー設定に常に関与することを好むわけではありません。 Jelasticは、サポートされているすべてのサーバー( Tomcat 、 GlassFish、 Jetty )に対してこのプロセスを自動化します。
Jelasticでセッションレプリケーションを設定する方法は?
それと同じくらい簡単:
- [環境トポロジ]ウィンドウで環境を作成するときに、サーバーの種類とインスタンスの数を選択してから、HA(高可用性)モードを有効にします。
- 数分後、レプリケーションが有効になった環境が作成されます
それだけです! 必要なのはこれだけです。 早くて簡単。 また、以前に作成した環境にHAを追加できます。 レプリケーションは、必要に応じてオンとオフを切り替えることができます。
今後の計画
将来的には、高可用性をサポートするための別の一般的なアプローチを実装する予定です-セッションを格納するためにインメモリKey-Valueストア(Memcacheなど)を使用して、環境のすべてのインスタンス間でセッションを複製します。
Jelastic.comの新機能を試して、 @ jelasticと印象を共有してください!