「パーシステンス」の版間の差分

imported>Administrator
ページの作成:「'''パーシステンス'''(英語:persistence)とは、直訳すると「存続」という意味である。 ==概要== ウェブの世界でパーシス...」
 
編集の要約なし
 
(2人の利用者による、間の7版が非表示)
2行目: 2行目:


==概要==
==概要==
[[ウェブ]]の世界でパーシステンスという場合は、[[ロードバランサー]]を咬ました複数台の[[HTTPサーバー]]で[[セッション]]を共有するためのセッションサーバー、およびその構築方法を指す。明示的にセッション・パーシステンスなどと記載している事例も見受けられる。
[[ウェブ]]の世界でパーシステンスという場合は、ほぼ[[ロードバランサー]]を咬ました複数台の[[HTTPサーバー]]で[[セッション]]を共有するためのセッションサーバー、およびその構築方法をさしている。明示的に「セッション・パーシステンス」などと記載している事例も見受けられる。


==ハードウェアで対応==
==ハードウェアで対応==
11行目: 11行目:


===PHP: memcached===
===PHP: memcached===
[[PHP]]では[[セッション]]の保存先に[[memcached]]を指定できる。これを別サーバーにすることでHTTPサーバーを[[DNSラウンドロビン]]で単純に複数台設置しても簡単に対応できる。
[[PHP]]では[[セッション]]の保存先に[[memcached]]を指定できる。memcachedを別サーバーにすることでHTTPサーバーを[[DNSラウンドロビン]]で単純に複数台設置しても簡単に対応できる。


php.iniで設定するのが手軽である。
php.iniで設定するのが手軽である。
18行目: 18行目:


===ASP.NET: ASP.NET State Service===
===ASP.NET: ASP.NET State Service===
Windows ServerにIISを入れると「ASP.NET State Service」というサービスが出来上がる。これはIISの一部なのでWindows Serverでなければ利用できない。このため開発機が普通のWindowsであったり、Monoや.NET Coreなどへの対応を考慮すると極めて非推奨である。
[[Windows Server]]に[[IIS]]を入れると「ASP.NET State Service」というサービスが出来上がる。これはIISの一部なのでWindows Serverでなければ利用できない。このため開発機が普通の[[Windows]]であったり、[[Mono]]や.[[NET Core]]などへの対応を考慮すると極めて非推奨である。


サービスを立ち上げてWeb.configのsessionStateに以下のような設定を加えることで利用できる。
サービスを立ち上げてWeb.configのsessionStateに以下のような設定を加えることで利用できる。
33行目: 33行目:


===ASP.NET: RedisSessionProvider===
===ASP.NET: RedisSessionProvider===
[[マイクロソフト]]は[[Redis]]でセッションを監理するライブラリを[[オープンソース]]として公開している。
[[マイクロソフト]]は[[Redis]]でセッションを管理する[[ライブラリ]](セッションプロバイダー)を[[オープンソース]]として公開している。
*https://www.nuget.org/packages/Microsoft.Web.RedisSessionStateProvider
* https://www.nuget.org/packages/Microsoft.Web.RedisSessionStateProvider


マイクロソフトの意図としては[[Azure]]でのAzure Redis Cacheを利用したセッション監理を想定したものだと思われるが、普通にローカルにRedisサーバーを立ち上げても利用でる。Redisなのでプラットフォームに依存せず、スケールアウトもする。現状でもっとも推奨される方法であると思われる。
マイクロソフトの意図としては[[Azure]]でのセッション管理にAzure Redis Cacheを使えという思し召しなのだろう。Azure Redis Cacheはいたって普通のRedisなのでローカルにRedisサーバーを立ち上げてもそのまま利用できる。いたって普通のRedisなのでプラットフォームに依存せず、[[スケールアウト]]もする。現状でもっとも推奨される方法であると思われる。


利用には[[NuGet]]から入れられるのが手っ取り早い。
利用には[[NuGet]]から入れられるのが手っ取り早い。
*Microsoft.Web.RedisSessionStateProvider
* Microsoft.Web.RedisSessionStateProvider
*https://www.nuget.org/packages/Microsoft.Web.RedisSessionStateProvider
* https://www.nuget.org/packages/Microsoft.Web.RedisSessionStateProvider


設定方法はマイクロソフトの公式サイトに日本語の資料があるのでこれを見るのが手っ取り早い>。
設定方法はマイクロソフトの公式サイトに日本語の資料があるのでこれを見るのが手っ取り早い。
*https://azure.microsoft.com/ja-jp/documentation/articles/cache-asp.net-session-state-provider/
*https://azure.microsoft.com/ja-jp/documentation/articles/cache-asp.net-session-state-provider/


48行目: 48行目:
*[[ロードバランサー]]
*[[ロードバランサー]]


==参考文献==
[[category: ウェブ]]
{{reflilst}}
 
{{stub}}