Мне нужен какой-то веб-сервис с отслеживанием состояния (скажем, бронирование билетов за 5 шагов 1) выберите ... 5) оплатить) и хотите реализовать его с помощью Spring (boot) framework
googling
весенний веб-сервис
тонн примеров веб-сервисов RESTful можно найти ... но в соответствии с манифестом REST и многими статьями / ответами (например, Sticky Session for Rest Calls API * )
REST-клиент предназначен для вызова REST API, а REST API должны быть без состояний
Statefulness вредит масштабируемости
Создать очень легкоВеб-сервис RESTful при весенней загрузке из-за великолепных встроенных и автоматически настраиваемых библиотек, и я не хочу отказываться от него.
Поэтому я вижу несколько способов преодолеть это:
- Создать веб-сервис RESTfulв Spring Boot и добавьте туда сессию и сохраните состояние, и добавьте липкий балансировщик нагрузки сеанса для поддержания масштабируемости (это более сложно, чем подход без сохранения состояния, но выполнимый).Да, это не будет true RESTful-сервис, но он будет работать
- Создать true RESTful-сервис без сохранения состояния, поддерживать состояние на
временная таблица базы данных «temp_transaction», к которой ваш код может обратиться, чтобы определить, находится ли пользователь в процессе бронирования, скажем, определенного места.
состояние поддерживается на стороне клиента, а не на сервере.Поэтому один из способов, который я предлагаю, заключается в том, что вы можете использовать куки-файлы для хранения данных о вашем состоянии и температуре Использовать какую-то богатую клиентскую среду, например угловую или реагирующую (я не очень хорош, но считаю, что есть вероятностьчтобы сохранить подарки состояния в этих рамках), хотя я думаю, что в любом случае cookie используется для этих целей, так что это почти то же самое, что 3) Использовать Spring + SOAP.Мыло может поддерживать состояние, но я думаю, что этот способ устарел, и современные вновь созданные приложения с нуля не должны использовать SOAP Не используйте Spring Framework для этого проекта, но используйте интерфейсную часть End End (упомянуто в 4) + Node.js (в любом случае это будет с состоянием)
Так какой подход лучше выбрать?