Работает ли connect.session с узлом-лазурью - PullRequest
3 голосов
/ 14 февраля 2012

Я начинаю разрабатывать приложение, используя node.js на Azure. Я использую EveryAuth для обеспечения аутентификации, потому что я хочу поддерживать множество различных методов аутентификации. Я планирую развернуть в Azure. Потенциальная проблема, с которой я столкнулся, заключается в том, что для каждого пользователя требуется помощник connect.session. Будет ли это работать с лазурью при запуске нескольких экземпляров? Или мне нужен альтернативный поставщик сеансов?

Ответы [ 2 ]

1 голос
/ 16 февраля 2012

Я никогда не использовал Node.js в Azure, но:

everyauth

При просмотре документации для everyauth существует метод проверки подлинности в Windows Azure ACS. См. Раздел Setting up Windows Azure Access Control Service (ACS) Auth в readme для получения дополнительной информации . Там нет заметок о том, что он не работает на самом Azure, поэтому я бы сделал вывод, что вы можете использовать его на Azure.

Connect-лазурь

Существует также проект под названием connect-azure , в котором, похоже, используется connect.session, поэтому я бы еще раз экстраполировал это, чтобы он работал на Azure.

Обратитесь в службу поддержки Azure

Если вы уже являетесь клиентом, вы можете обратиться в службу поддержки за помощью .

Попробуйте и посмотрите

Так что, если у вас есть настройка среды Azure, я бы определенно сказал, что стоит попробовать.

0 голосов
/ 07 октября 2012

Это спросили некоторое время назад, но я подумал, что все равно попытаюсь ответить.Похоже, что для поддержания сеанса connect-session использует куки-файлы.Azure имеет другую стратегию распределения нагрузки в зависимости от того, что вы используете:

  • WebRole / WorkerRole - LB не имеет никакого сходства, поэтому запросы от ваших клиентов могут заканчиваться в разных серверных экземплярах,Это отбросит все, что делает соединение управления сеансом.Это побочный эффект распределенной облачной архитектуры: вы не хотите, чтобы какой-либо внутренний узел был источником правды, так как он может выйти из строя.Итак, вам нужно выяснить, как вывести из внешнего хранилища cookie connect и сделать так, чтобы все бэкэнды делились им.Таким образом, независимо от того, какой сервер получит запрос, он будет знать о сеансе.

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

...