Amazon EC2 ELB направляет нагрузку на другие экземпляры и сеансовые хранилища

Если мы увеличим масштаб (добавим экземпляр в ELB), можем ли мы перенаправить некоторые существующие запросы в новый экземпляр. Таким образом, пользователи, которых мы вынуждаем на новый сервер, будут приглашены снова

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

Возможно ли это (включая перенаправление запроса)? Как?

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

И каковы варианты использования центрального хранилища сессий? SimpleDB? Redis? Memcached?

Наше приложение представляет собой простое веб-приложение, размещенное на Apache. У нас есть два экземпляра, добавленных в Amazon ELB, и мы используем PHP.

Любые конкретные предложения ELB PHP? когда происходит уменьшение / увеличение, чтобы не отображались видимые пользователю симптомы?

2 ответа

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

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

Вы можете сделать это, установив cookie на клиенте (поведение по умолчанию в session_start() и обеспечение того, чтобы все ваши веб-серверы с PHP имели возможность получать информацию об идентификаторе сеанса.

Некоторые люди будут использовать memcached для этого... и есть встроенная интеграция в PHP для хранения сессий в memcached...

Существует множество способов централизованного управления сеансами. Некоторые из них перечислены ниже:

DB:

http://ocklin.org/session_management_cluster.html

Memcache:

  1. http://www.migrate2cloud.com/blog/how-to-configure-memcached-on-aws-ec2-a-starters-guide (убедитесь, что хосты могут подключаться без проблем),
  2. http://www.dotdeb.org/2008/08/25/storing-your-php-sessions-using-memcached/
  3. http://php.net/manual/en/memcached.sessions.php

Msession:

http://in.php.net/manual/en/ref.msession.php

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