レイヤー7スイッチ機能の実装
HTTPセッションの永続性確保は、ロードバランサに任せるのが一般的です。しかし、スケールアウトが可能な仕様で、Webアプリケーションの機能 の一部として実装することも可能です。PHPの場合、HTTPセッション情報を任意のシステムに保存するしくみを提供しています。このしくみを使用すれ ば、複数のWebサーバーにアクセスの分散を行い、システム全体のスケーラビリティを確保しつつ、HTTPセッションの永続性を維持するしくみが簡単に実 装できます。
商用ロードバランサによるレイヤー7スイッチは、アクセスするWebサーバーを固定化することにより、HTTPセッションの永続性を確保していま す。HTTPセッション情報をデータベースに保存すると、複数のWebサーバーを利用している場合も常に同じセッション情報にアクセスでき、商用のロード バランサでスイッチングするのと同じように永続性を維持することが可能になります(図17)。
しかし、この構成では、Webシステム全体のパフォーマンスはセッションデータベースサーバーの処理能力の制限を受けてしまいます。
セッションデータベースサーバーを追加し、特定のセッションIDでWebシステムにアクセスした場合に、同じセッション情報にアクセスできるようにするのは簡単です(図18)。

図18:セッションIDでアクセスするセッションデータベースを変更
