Как сервер без сохранения состояния может поддерживать состояние сеанса на стороне сервера? - PullRequest
3 голосов
/ 27 сентября 2019

Я читаю знаменитую книгу Мартинга Фаулера Шаблоны архитектуры корпоративных приложений , чтобы систематизировать свои знания.

Я прочитал главу Session and States и немного растерялся.В первой части главы автор рекомендует использовать сервер без сохранения состояния, чтобы избежать каких-либо проблем.Затем автор говорит, что иногда нужно сохранять некоторые данные на стороне сервера - например, корзину пользователя в интернет-магазине. Но для реализации сеанса с состоянием мы можем использовать сервер без сохранения состояния. Затем автор описывает способы сохранения состояния сеанса (клиент, сервер, база данных)

Но после прочтения этой главы я не понимаю, чтосервер без состояния есть.Как сервер может оставаться без состояния, если он сохраняет состояние сеанса?

1 Ответ

5 голосов
/ 27 сентября 2019

Quora имеет хорошее определение:

Служба без сохранения состояния - это служба, которая не хранит никаких данных на сервере приложений.Он читает или записывает данные в базу данных, возвращает значение (или нет), и после этого любая информация о самой задаче забывается.

Значение: это не тот сервер Сам, который хранит данные о состоянии.Это может поместить это в некоторую базу данных.Затем он может предоставить клиенту своего рода токен , который клиент может включить в будущие вызовы.И этот токен позволяет другим серверам получать соответствующие данные, скажем, из базы данных.

Ключевой момент: конечно, информация должна храниться где-то .Но это где-то не сервер, а некоторая инфраструктура, к которой могут добраться все серверы без сохранения состояния.

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