分散システムにおけるセッション共有の 5 つの方法

分散システムにおけるセッション共有の 5 つの方法

[[272319]]

1. NFSベースのセッション共有

NFS は Net File System の略称で、Unix ネットワーク ホスト間のディレクトリ共有の問題を解決するために Sun によって最初に開発されました。

このソリューションは実装が最も簡単で、二次的な開発をあまり必要としません。共有ディレクトリ サーバーを各チャネル サーバーのローカル セッション ディレクトリにマウントするだけで済みます。欠点は、NFS が複雑なセキュリティ メカニズムとファイル システムに依存しているため、特にセッションなどの同時読み取りと書き込みが多い小さなファイルの場合、同時実行効率が高くないことです。共有ディレクトリ サーバーの io-wait が高すぎるため、最終的にはフロントエンド WEB アプリケーションの実行効率が低下します。

2. データベースに基づくセッション共有

最初の選択肢はもちろん有名な MySQL データベースであり、セッション操作の読み取りと書き込みの効率を向上させるためにメモリ テーブル Heap を使用することをお勧めします。このソリューションは非常に実用的であり、広く使用されていると思います。欠点は、セッションの同時読み取りおよび書き込み機能が MySQL データベースのパフォーマンスに依存することです。同時に、データ テーブルからセッション レコードを定期的に更新および削除できるように、セッション削除ロジックを自分で実装する必要があります。同時実行性が高すぎると、テーブル ロックが発生しやすくなります。行レベルのロックを備えたテーブル エンジンを選択することもできますが、セッションを保存するためにデータベースを使用するのは、まだ少しやり過ぎであることを認めざるを得ません。

3. クッキーに基づくセッション共有

このソリューションは私たちにとって馴染みのないものであるかもしれませんが、大規模な Web サイトでは現在でも一般的に使用されています。原則としては、サイト全体のすべてのユーザーのセッション情報を暗号化してシリアル化し、それをクッキーの形式でルートドメイン名 (.host.com など) に均一に埋め込むことです。ブラウザを使用してルートドメイン名の下にあるすべての第 2 レベル ドメイン サイトにアクセスすると、ドメイン名に対応するすべての Cookie コンテンツの特性が渡され、複数のサービス間でユーザーの Cookie セッションの共有アクセスが実現されます。

このソリューションの利点は、追加のサーバー リソースを必要としないことです。欠点は、http プロトコル ヘッダーの長さの制限により、保存できるユーザー情報が少量だけであることです。同時に、Cookie ベースのセッション コンテンツは安全に暗号化および復号化される必要があります (プレーン テキストの暗号化と復号化には DES、RSA などを使用し、偽造防止認証には MD5、SHA-1 などのアルゴリズムを使用するなど)。さらに、ブラウザは現在のドメイン名の下にあるリソースを要求するときにローカル Cookie を http ヘッダーに添付してサーバーに渡すため、一定量の帯域幅リソースも消費します。

4. Memcache に基づくセッション共有

Memcache は、Libevent マルチチャネル非同期 I/O テクノロジーに基づくメモリ共有システムです。シンプルなキー + 値のデータ ストレージ モードにより、コード ロジックが小さく効率的になるため、同時処理機能において絶対的な利点があります。私が経験したプロジェクトでは、1 秒あたり平均 2000 クエリを達成しましたが、サーバーの CPU 消費量は依然として 10% 未満でした。

Memcache のメモリ ハッシュ テーブルに固有の Expires データの有効期限と削除のメカニズムがセッション有効期限のメカニズムと一致しているため、期限切れのセッション データを削除するコードの複雑さが軽減されることも特筆に値します。 「データベース ベースのストレージ ソリューション」と比較すると、このロジックだけでデータ テーブルに大きなクエリ負荷が発生します。

5. Redis ベースのセッション共有

<<:  クラウドコンピューティング: 三国志風の「クラウド」

>>:  LVS、Nginx、HAProxy がどのように動作するかを本当に理解していますか?

推薦する

Woquブランドが経験を共有し、Woquアパートメントの成功した製品デザインの秘密を明らかにする

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますWoquブ...

ハッカーが百度のウェブサイトを改ざん、広西警察が容疑者を逮捕

中国新聞社、1月31日:記者らは最近、広西チワン族自治区北海市警察がサイバーハッカー攻撃事件の解決に...

#Xmas# sugarhosts: 米国 cn2 ラインの仮想ホストと VPS、および追加の香港データセンターが 40% オフ

Sugarhostsのクリスマスプロモーションはすでに始まっており、12月31日に終了します。(1)...

ミニプログラムを運営し、促進するための実践的な手順

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますミニプログ...

AMD YES、「高性能」AMD プラットフォーム VPS マーチャントの新バッチをご紹介します。

AMD の台頭後、同社の CPU が VPS や独立サーバー市場に登場するのは当然のことです。最近、...

Renren.comがYouku Tudouに「参入」:先行者利益を失い、自らを救いたい

黄元芳海平「中国版Facebook」として知られるRenren(RENN.NYSE)は、SNSプラッ...

tmhhost: 安昌データセンター cn2 gia vps プロモーション、強制 3 ネットワーク バックホール cn2 gia、公式保証オーバーセリングなし

アメリカ西海岸ロサンゼルスのAnchangデータセンターにあるtmhhostのVPSがプロモーション...

Baidu が検索結果のタイトル URL とクリック ソフトウェアのランキング「期限」を変更

【はじめに】 先日、私のブログに「百度の修正内容に賛否両論」という記事を掲載しました。 Baidu ...

ブランドを構築することによってのみ、検索エンジンへの依存を克服できる

Baidu は今再び人気を博しています。Baidu は以前 360 と競争しようとしましたが、失敗し...

VMware 仮想化について 1: VMware ESXI のインストールと構成

最も顕著な疑問は、「なぜ仮想化なのか?」です。仮想化によってどのようなメリットがもたらされるのでしょ...

#ポイント# hiformance: $9.9/年 - KVM、512 メモリ、6 データセンター (CN2) - Alipay

Hiformance の最新の電子メール プロモーション: 夏の Hiformance プロモーショ...

単一タイプのCMSウェブサイトを運営するためのいくつかの主要な要素についての簡単な説明

単一タイプの CMS ウェブサイト、私はこれまで多くの CMS ウェブサイトを見てきましたが、多かれ...

Sina Weiboにはログインできないアカウントが多数あります。

今朝8時40分頃、Weibo中毒の陳さんはいつものように新浪微博を開き、ログインしようとしたところ、...

Baidu DirectアカウントはWeChat公式アカウントを破壊できますか?

2014年9月3日、百度世界大会で、百度は長らく計画していた大きな動きであるダイレクトナンバーパブリ...

女性消費者は気軽に商品を閲覧する際に何を考えているのでしょうか?

女性の消費に関しては、少し誇張した言い方をすれば、世界の消費決定の 80% は女性によって行われてい...