![][1]На некоторой стадии развития веб-проекта возникает одна из следующих ситуаций:
* backend перестаёт помещаться на одном сервере и требуется хранилище сессий, общее для всех backend-серверов
* по различным причинам перестаёт устраивать скорость работы встроенных файловых сессий
Традиционно в таких случаях для хранения пользовательских сессий начинают использовать Redis, Memcached или какое-то другое внешнее хранилище. Как следствие возникает бремя эксплуатации базы данных, которая при этом не должна быть единой точкой отказа или бутылочным горлышком в системе.
Однако, есть альтернатива этому подходу. Возможно безопасно и надёжно хранить данные сессии в браузерной куке у самого пользователя, если заверить данные сессии криптографической подписью. Если вдобавок к этому данные ещё и зашифровать, то тогда содержимое сессии не будет доступно пользователю. Главное достоинство этого способа хранения в том, что он не требует централизованной базы данных для сессий со всеми вытекающими из этого плюсами в виде надёжности, скорости и масштабирования. [Читать дальше →][2]
[1]:
https://habrastorage.org/files/002/af1/db2/002af1db24d3444a9b4321ea25ddea0d.png
[2]:
https://habrahabr.ru/post/325452/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut