门票预订(状态)春季启动的Web服务



我需要一些状态的Web服务(在5个步骤中预订门票1)选择... 5)付款),并希望使用Spring(boot)Framework

来实现它

谷歌搜索

春季Web服务

可以找到大量的RESTFUL Web服务示例...但是根据REST清单和许多文章/答案(即REST API调用的粘性会话)

让rest客户端致电REST API,REST API应无状态

状态损害可伸缩性

由于嵌入式和自动配置的Libs,在Spring Boot中创建一个重新的Web服务非常容易,我不想拒绝它。

所以我看到了一些克服这一点的方法:

  1. 在Spring Boot中创建RESTFUL Web服务,并在其中添加到其中的会话并存储状态,并添加粘性会话负载平衡器以保持可扩展性(比无状态方法更困难,但可行)。是的,它不会是 true rentful服务,但是它将起作用
  2. 创建 true 无状态的静止服务,保持状态

临时" temp_transaction"数据库表可以咨询以确定用户是否在预订过程中,例如特定座位。

  1. 状态在不在服务器上的客户端维护。因此,我建议的方式之一是您可以使用cookie存储您的状态和临时数据
  2. 使用一些丰富的客户侧框架,例如Angular或React(我不好,但相信有可能在这些框架中保留状态礼物),尽管我认为无论如何是为此目的使用的Cookie,所以它几乎与3相同)
  3. 使用Spring SOAP。肥皂可以维持状态,但我认为这种方式已经过时了,现代新创建的应用程序从头开始不应使用SOAP
  4. 不要将弹簧框架用于此项目,而是使用前端框架(在4) node.js(无论如何都会说是状态)

那么选择哪种方法可以选择?

因为您的休息服务

  1. 可能会崩溃,然后重新启动
  2. 您想扩展并具有多个服务的实例

您应该将状态保存在数据库或Redis等分布式缓存中。

您必须在每个请求中传递会话密钥或预订参考。例如,在标题中。

相关内容

  • 没有找到相关文章

最新更新