セッション管理のために複数のインスタンスでRedisを使用する

セッション管理のために複数のインスタンスでRedisを使用する

こんにちは。現在、AWS OpsWorks を実装中です。PHP アプリケーション サーバーのインスタンスが複数あり、mysql のインスタンスが 1 つあります。セッションとデータの管理には redis と phpredis を使用する予定です。Redis は初めてなので、このシナリオについてサポートが必要です。PHP

アプリケーション サーバーに redis をインストールする必要がありますか。ユーザーが別のサーバーに移動してもセッションが影響を受けないように、セッション データが自動的に同期されますか。

または、すべての PHP アプリケーション サーバーに接続する別のインスタンスに mysql と一緒にインストールする必要がありますか。その場合、ストレージは 1 つの redis サーバー上にのみ存在し、すべての PHP インスタンスに提供されます。

その他の適切なシナリオも歓迎します。私はこうしたことに非常に不慣れなので、最適なアーキテクチャの選択にご協力ください。

答え1

インスタンスを分けて、すべての PHP インスタンスをそれに接続する必要があります。または、Memcached と Redis の両方をサポートし、必要に応じてスケールアウトできる AWS Elasticache を検討することもできます。各 PHP インスタンスにインストールするだけでは「ローカル キャッシュ」しか得られませんが、ロード バランサがユーザーを開始した場所とは別のサーバーに配置すると、セッションの問題が発生します。

関連情報