Как настроить вход в систему при использовании нескольких серверов с распределенной службой (HAProxy, Apache, Ruby on Rails) - PullRequest
0 голосов
/ 19 декабря 2010

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

Я использую Memcache для хранения сеанса вRails - config.action_controller.session_store =: mem_cache_store

ActiveSupport :: Cache :: MemCacheStore.new ("server1", "server2", "server3")

Я думал, что вторая строка будетили синхронизировать кэши или что-то в этом роде ...

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

Есть ли простой способ сказать, используйте этот Memcache для всех хранилищ сеансов на всех 3 серверах?

Это решит мою проблему?

Я буду очень признателен.

1 Ответ

0 голосов
/ 04 апреля 2011

Я раньше не использовал memcached для хранения сессий (я чувствую, что redis - лучшее решение), но я думаю, что пока у вас есть ActiveSupport::Cache::MemCacheStore.new("server1","server2","server3") линия на каждом из ваших серверов приложений, ваши сеансы должны оставаться синхронизированными.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...