web-dev-qa-db-ja.com

セッションレプリケーションの長所と短所

本当にセッションレプリケーションが必要ですか?

私は会社のために多くのウェブプロジェクトに取り組んでいます。ほとんどのプロジェクトは、約1ページまたは2ページの入力であり、mysqlデータベースに保存します。非常に基本的なプロジェクト。私のSAはJBossでセッションレプリケーションを機能させようとしていますが、その必要性とそのすべてのオーバーヘッドは実際には見られません。

サーバーがダウンした場合に新しいリクエストをバックアップサービスに移動できるように、負荷分散とクラスタリングが必要ですが、セッションレプリケーションはそれほど大きくありません。

これは非常に少量のプロジェクトです。私の目には、サーバーが1ページまたは2ページでダウンしたときに、ユーザーがプロジェクトに参加する確率はどのくらいですか。

この場合、セッションの複製は不必要な複雑さであることをSAに納得させる必要があります。議論をより適切に構成できるように、セッションレプリケーションの長所と短所を探しています。

1
techsjs2012

管理者がフォールトトレラントな環境を提供しようとしているように思われるので、単一のサーバーがオフラインになっても、ユーザーは目立った変化を経験しません。これは、他のサーバーに影響を与えずにサーバーの1つで動作できるように、メンテナンス上の理由である可能性もあります。

このシナリオでは、アプリケーションとWebサーバーは、応答する最初のサーバーがオフラインになった場合にセッション情報を格納するために、ある種の抽象化されたセッションレプリケーションまたはキャッシュを提供する必要があります。

基本的に、これにより、ユーザーがアプリケーションからダンプされ、再度ログインする必要がなくなります。

ジョンが上で述べたように、これは本当にビジネス要件に帰着します。高可用性が必要な場合、あなたは本当に問題に選択肢がありません。いずれにせよ、データベースまたは分散インメモリキャッシュへのセッションオフロードの実装は、多くの場合、大きなオーバーヘッドではなく、実装が困難でもありません。

2
Brent Pabst

この質問は、私にとってのビジネス上の議論に戻ります。アプリケーションのSLAとは何ですか。 SLAが、プライマリがキャスターを上げてクライアントでセッションの再起動を強制した後、セカンダリへのフェイルオーバーを完了するのに5〜10秒かかると言っている場合は、レプリケーションをドロップキックしますSLAが、障害から回復するのに0.5秒あると言っている場合、および/またはセッションの再起動を強制することが許可されていない場合は、SAにレプリケーションを機能させて使用させます。

「負荷分散とクラスタリングが必要です」とは、SLAがセッションレプリケーションも必要になるようなものであることを示唆していますが、それは私が物事を読んでいるだけです。

0
John