Java PaaSでのセッションレプリケーションとスティッキーセッション

次の成果を皆さんと共有できることを嬉しく思います。Jelasticは、アプリケーションサーバー間でセッションレプリケーションを使用する機能を提供します。 レプリケーションの有効化は非常に簡単です-ワンクリックで、高可用性(HA)環境の所有者になります。 それがどのように機能し、どのようなメリットがあるかを詳しく見てみましょう。
現在のソリューションでは、Jelasticはサーバーペア間のセッションレプリケーションをセットアップします。 これらのペアはクラスターを形成します。

ユーザーが最初にアプリケーションにアクセスすると、バランサーはクラスターの1つにあるインスタンスの1つにリクエストをリダイレクトします。

セッション全体を通して、ユーザーは同じインスタンスを使用し続けます(いわゆるスティッキーセッションが機能します)。 インスタンスの1つがクラッシュすると、そのインスタンスで処理されたユーザーリクエストは、同じクラスターの別のインスタンスに自動的に転送されます。 複製のおかげで、2番目のインスタンスはすでに倒れた「同僚」のすべてのセッションを持っているため、エンドユーザーは何にも気付かないでしょう。

もちろん、Jelasticの垂直スケーリングはこの「セッションのゲーム」に完全に適合します。上記のインスタンスは、必要に応じて、二重の負荷に従ってメモリとCPUを受け取ります。

クラスタ内の両方のインスタンスが落ちることはほとんどありませんが、それでもこのオプションを提供しています。 この場合、すべてのユーザーが別のクラスターにリダイレクトされます。 もちろん、この場合、古いセッションは複製されませんが、それにもかかわらず、アプリケーションはユーザー要求を処理します。

このようなレプリケーションメカニズムを手動で設定することは非常に難しく、エラーや時間の損失を伴います。 さらに、すべてのプログラマーがサーバー設定に常に関与することを好むわけではありません。 Jelasticは、サポートされているすべてのサーバー( TomcatGlassFish、 Jetty )に対してこのプロセスを自動化します。

Jelasticでセッションレプリケーションを設定する方法は?


それと同じくらい簡単:
それだけです! 必要なのはこれだけです。 早くて簡単。 また、以前に作成した環境にHAを追加できます。 レプリケーションは、必要に応じてオンとオフを切り替えることができます。

今後の計画

将来的には、高可用性をサポートするための別の一般的なアプローチを実装する予定です-セッションを格納するためにインメモリKey-Valueストア(Memcacheなど)を使用して、環境のすべてのインスタンス間でセッションを複製します。

Jelastic.comの新機能を試して、 @ jelasticと印象を共有してください!

Source: https://habr.com/ru/post/J134688/


All Articles