2011-12-20 1 views
12

Я пытаюсь сделать некоторые исследования, чтобы найти лучший вариант для управления сеансами в многосерверной среде и задавался вопросом, что люди нашли успешным и почему. За и против.Что использовать для управления сеансом?

RDBMS - Медленнее. Лучше используется для других данных.

Memcached - Вы не можете взять вниз Memcached сервера без потери сессий

Redis - Устранена проблема Memcached, но как насчет простоты масштабируемости? Отказоустойчивость?

Cassandra - обладает хорошей отказоустойчивостью. За и против?

MongoDB, Другие?

Спасибо!

ответ

7

Лично я использую Cassandra для сохранения данных сеанса php. Он хранит его в одном столбце в одной строке с session_id: {session_data_as_json}, и я устанавливаю TTL в столбце, чтобы он автоматически очищал мусор. Работает.

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

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

Примечание стороны, я начинаю работать над родной PHP -> Cassandra сессии обработчика: https://github.com/sdolgy/php-cassandra-sessions - это показывает, как TTL-х устанавливаются с PHPCassa и Cassandra

5

Redis - Устранена проблема memcached, но как насчет простоты масштабирования ? Отказоустойчивость?

Redis поддерживает replication и предстоящие cluster должны также поддерживать шардинг данных по нескольким узлам.

0

Немного поздно, но, возможно, кто-то заинтересован в последующей деятельности. Мы используем Cassandra в качестве нашего магазина сеансов и получаем доступ к ней через весеннюю сессию (с добавлением родного Spring-session-cassandra addon). Объекты в сеансе сортируются/неаршаллируются через Kryo (https://github.com/EsotericSoftware/kryo).

Эта настройка дает нам сеанс получить от 1 до 2 мса и сохранить под 1мсом:

enter image description here

enter image description here

Но в зависимости от кольцевой нагрузки есть некоторые выбросы в то время отклика :

enter image description here