Использование Redis для нескольких экземпляров для управления сеансами

Привет! Мы находимся в процессе внедрения AWS opsworks. Там будет несколько экземпляров серверов приложений PHP и один экземпляр MySQL. Мы планируем использовать Redis и Phpredis для управления сессиями и данными. Очень новичок в Redis, поэтому нужна помощь по этому сценарию.

Должны ли мы установить Redis на серверах приложений php. Будут ли они автоматически синхронизировать данные сеанса, чтобы, если пользователь перешел на другой сервер, его сеанс остался без изменений?

Или мы должны установить его вдоль mysql на отдельном экземпляре, подключающемся ко всем серверам приложений php. В этом случае хранилище будет только на одном redis-сервере, и оно будет обслуживать весь экземпляр php.

Любой другой подходящий сценарий также приветствуется. Я очень новичок в этом, поэтому, пожалуйста, помогите мне выбрать лучшую архитектуру.

1 ответ

Вам нужно будет создать отдельный экземпляр и подключить к нему все экземпляры PHP, или вы также можете взглянуть на AWS Elasticache, который поддерживает Memcached и Redis и позволит вам масштабироваться по мере необходимости. Установка только на каждом экземпляре PHP даст вам только "локальный кеш", но вызовет проблемы с сеансом, если балансировщик нагрузки поместит пользователя на другой сервер, с которого он начал

Другие вопросы по тегам