Могу ли я использовать один и тот же экземпляр Redis для хранения сессий из нескольких приложений? - PullRequest
1 голос
/ 26 марта 2020

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

Ответы [ 2 ]

0 голосов
/ 27 марта 2020

Я бы не использовал разные ключи и один и тот же сервер и базу данных Redis. Ваши два веб-приложения становятся близнецами. Если одно веб-приложение работает, оно может активировать другое.

Если вы развертываете один и тот же код веб-приложения в двух или более веб-приложениях, вы можете использовать один и тот же сервер Redis, но разные базы данных на сервере. Azure Redis Cache имеет один сервер, каждый с 16 базами данных. Тем не менее, базы данных в пределах одного и того же сервера совместно используют ограничения обслуживания.

Или самое лучшее, что можно сделать, - это межсетевой экран двух веб-приложений с использованием двух разных Azure сервисов Redis cache.

0 голосов
/ 27 марта 2020

Это зависит от вашего ключа. Если вы используете ключ, который является только именем пользователя. Затем оба приложения читают одно и то же состояние сеанса. Вы можете сделать это, создав составной ключ с именем приложения в качестве части ключа.

Я бы использовал отдельные экземпляры:

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