Веб-приложения без сохранения состояния важны, когда вы начинаете иметь более высокий трафик.
Может быть множество пользовательских данных, которые вы не хотите хранить на стороне клиента, например, по соображениям безопасности. В этом случае вам нужно хранить его на стороне сервера. Вы можете использовать сеанс веб-приложений по умолчанию, но если у вас более одного экземпляра приложения, вам нужно будет убедиться, что каждый пользователь всегда направлен на один и тот же экземпляр.
Балансировщики нагрузки часто могут иметь «липкие сеансы», когда балансировщик нагрузки каким-то образом знает, на какой сервер отправлять запрос пользователей. Это не идеально, хотя, например, это означает, что каждый раз, когда вы перезапускаете свое веб-приложение, все подключенные пользователи будут терять свой сеанс.
Лучшим подходом является сохранение сеанса за веб-серверами в каком-либо хранилище данных, в наши дни для этого доступно множество отличных продуктов nosql (redis, mongo ,asticsearch, memcached). Таким образом, веб-серверы не сохраняют состояние, но у вас все еще есть состояние на стороне сервера, и доступностью этого состояния можно управлять, выбрав правильную настройку хранилища данных. Эти хранилища данных обычно имеют большую избыточность, поэтому почти всегда должна быть возможность вносить изменения в ваше веб-приложение и даже в хранилище данных без влияния на пользователей.