Как работает сеанс одного и того же пользователя, когда балансировщик нагрузки используется с разными веб-серверами на бэкэнд. Другими словами, можно предположить, что существует балансировка нагрузки для распределения нагрузки между разными серверами, и пользователь направляется на один сервер, где хранится его сеанс, а затем в следующий раз тот же самый пользователь перенаправляется на второй сервер. Как сервер знает, является ли он одним и тем же пользователем? как поддерживать его, что он был одним и тем же пользователем на обоих серверах.Управление сеансами между разными серверами
ответ
Я сделал это, изменив файлы формы хранилища сеансов в другую систему, которая может обрабатывать соединения tcp (в моем случае memcache, но вы даже можете использовать mysql как она)
Memcache решение: для расширения
кэша памятиsession.save_handler = memcache
session.save_path = "tcp://localhost:11211"
для Memcached
session.save_handler = memcached
session.save_path = "localhost:11211"
, но, конечно же, Вы должны изменить локальный хост на ваш DNS/IP
проверить его в ручной Sessions support
Можете ли вы подробнее рассказать о своем решении, пожалуйста, –
Я продлеваю свой ответ – pomaxa
Вашей балансировке нагрузки может быть выполнен с возможностью направлять тот же пользователь/клиент к одному серверу. Единственный момент, когда это становится «сложным», - это прыгать между SSL и необеспеченным трафиком, но это все еще можно настроить на балансировщике нагрузки.
Если по какой-либо причине вы не можете этого сделать, вы можете сохранить/получить состояние сеанса на SQL-сервере. См. this article for direction.
Используйте базу данных для хранения сеансов. (Остерегайтесь SQL инъекции, так как печенье холдинг PHPSESSID исходит от клиента.)
Начало здесь: http://php.net/manual/en/function.session-set-save-handler.php
- 1. simplexml_load_file медленнее между разными серверами?
- 2. Репликация SQL Server между двумя разными серверами
- 3. Ошибка при копировании таблицы между разными серверами
- 4. Пытается скопировать файлы между двумя разными серверами
- 5. балансировка нагрузки и управление сеансами с CakePHP
- 6. Управление сеансами в Node.js?
- 7. Управление сеансами пользователя
- 8. Управление сеансами Rails
- 9. Веб-сервис Управление сеансами
- 10. Управление сеансами Turbogears2
- 11. Struts 1.3 Управление сеансами
- 12. Управление несколькими сеансами Кассандры
- 13. Управление серверами WebForms
- 14. Управление сеансами - сервер приложений Websphere
- 15. Управление несколькими сеансами NHibernate/UnitOfWork
- 16. Управление сеансами пользователя Apple Watch
- 17. Управление сеансами Codeigniter и вход
- 18. Форматы дат несоответствия между разными серверами (столбец XML)
- 19. Модуль Odoo LDAP работает неправильно между разными серверами
- 20. Обмен данными или контекстом между двумя разными серверами tomcat?
- 21. Команда Scp между двумя серверами с двумя разными ключами .pem
- 22. Как проверить работу кластера между двумя разными серверами JBoss
- 23. Управление пользователями/сеансами между Sencha Touch и Rails (backend)
- 24. Можно ли передать управление программой между сеансами GDB?
- 25. Управление миссией Java - сохранение пользовательских диаграмм между сеансами
- 26. Весенняя безопасность: управление sssion с живыми серверами
- 27. Управление тайм-серверами в C#
- 28. управление входами/сеансами. Android/php server
- 29. Триггер MySQL между сеансами
- 30. Общайтесь между сеансами
Является ли это для приложения ASP.NET или PHP? –
Общий вопрос, и мне просто нужен общий ответ, как, как это делается вообще, вопрос интервью, который вы можете сказать –