Масштабируемое PHP приложение с сессиями и memcach
Предупреждение: я не специалист по memcached и в масштабированиии. Нужно сделать не так, как я говорю, а так, как правильно.
Нужно сделать пример масштабируемого PHP приложения с хранением сессий в общей БД и с кэшированием их в memcached.
Т.е. есть балансер нагрузки, передающий запрос одному из нескольких серверов.
Если на сервере создается PHP сессия, то вместо хранения ее в файле, как PHP делает по умолчанию, нужно сохранить ее
в БД и закэшировать в Memcached.
Для проверки существования сессии нужно проверить, есть ли она в кэше, если нет, то поискать ее в БД, если есть, то закэшировать.
При уничтожении сессии (пользователь делает Log out) нужно ее уничтожить в БД и в кэше.
Также надо по расписанию убивать expired сессии.
Все это будет работать на сервисах Amazon'a (ELB, EC2, SimpleDB), поэтому опыт работы с ними - большой плюс.
Также надо настроить автоматизированное тестирование всего этого.
Ожидаемые результаты работы:
- инструкция по настройке memcached
- php код приложения
- файлы настроек для какого-то автотестировщика или код своего тестировщика
Это часть задания, при успешном выполнении будет более большой проект.
Обязательно требуется:
знания и опыт в создании нагруженных, масштабируемых систем
memcached
php на достаточно сильном уровне от версии 5.2 и выше
Пожелания:
администириование линукса и прочих *nix подобных систем (мы пока не знаем, что нам конкретно подойдёт) в части организации масштабируемых сервисов
знания, опыт работы и администрирования решений на базе Amazon Web Services
знакомство с JavaScript
Чтобы получить эту работу, напишите, какой опыт у вас с масштабированием, что конкретно вы делали, и какие требования к производительности были. Ну и
стоимость и сроки.