使用Redis進行多個實例的會話管理

使用Redis進行多個實例的會話管理

您好,我們正在實作 AWS opsworks。將有多個 PHP 應用伺服器實例和一個 mysql 實例。我們計劃使用 redis 和 phpredis 進行會話和資料管理。對 Redis 非常陌生,因此在這種情況下需要幫助。

我們應該在 php 應用伺服器上安裝 redis 嗎?他們會自動同步會話數據,以便如果使用者轉到另一台伺服器,他的會話不受影響嗎?

或者我們應該將它沿著 mysql 安裝在連接到所有 php 應用伺服器的單獨實例上。在這種情況下,儲存將僅位於一台 redis 伺服器上,並且它將服務所有 php 實例。

也歡迎任何其他合適的場景。我對這些事情很陌生,所以請幫我選擇最好的架構。

答案1

您需要建立單獨的執行個體並將所有 PHP 執行個體連接到它,或者您也可以查看 AWS Elasticache,它支援 Memcached 和 Redis,並允許您根據需要進行擴充。單獨在每個 PHP 實例上安裝只會獲得“本地快取”,但如果負載平衡器將使用者從其啟動位置放置到另一台伺服器上,則會導致會話問題

相關內容