2016-10-29 2 views
0

Допустим, у нас есть работающее веб-приложение на трех узлах. И скажем, у нас есть балансировка нагрузки. Как загружать сбалансированные системы обрабатывают сеансы?Балансировка нагрузки и аутентификация

Потому что это должен быть очень распространенный сценарий, когда пользователь аутентифицируется, делает один запрос, и этот запрос обрабатывается узлом-1, а следующий запрос обрабатывается узлом-2. И временная дельта может быть очень маленькой.

Действительно ли сеансовые хранилища на всех узлах синхронизируются очень быстро или существуют другие подходы?

+0

Именно по этой причине предпочтительны службы без гражданства. Избавьтесь от своих сессий;) – plalx

+1

@plalx Но как службы statles обрабатывают проблему аутентификации? Даже с помощью токенов нам нужно хранить и делиться ими. Или я чего-то не хватает? – Paul

ответ

1

Сессии можно разделить на несколько экземпляров, используя общий сеанс db. Кэш Redis является одним из примеров для таких целей.

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

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