gpt4 book ai didi

scala - Lift 的状态习语是什么?

转载 作者:行者123 更新时间:2023-12-02 02:17:57 25 4
gpt4 key购买 nike

我读过有关 REST 的内容。当我对 Lift 有一个概览时,似乎 Lift:

  1. 在(Java EE 应用程序)服务器中维护状态
  2. 需要集群环境中的服务器亲和性

Lift 的全状态概念似乎与 REST 及其同类截然不同。 Lift 的状态习语究竟是什么?为什么需要服务器亲和性?如果我们偏离了固定的成语,它会成为雷区吗?


它如何在这个假设的同时编辑的电子表格中发挥作用(并成为优势):

  1. 用户编辑了一行中的一个单元格。当用户继续编辑(异步)时,编辑器显示该单元格的“正在同步”,如果数据已与后备存储同步,则删除该通知。
  2. 另一个用户正在开始编辑文档。第一位编辑会收到通知。
  3. 第一个用户编辑了另一个人可见的行。另一个人知道更改了哪些行。

更新:dave 评论了服务器关联的确切原因:herehere .事实证明,流量非常大的网站 FourSquare 正是使用这种方法。

最佳答案

这在 Lift in Action 中进行了讨论。有状态的主要原因是安全性:Lift 在很大程度上依赖于内存中的状态来实现安全功能,例如页面控件上的功能映射 GUID。此外,您会发现那些声称是无状态的并且除了纯 REST 之外做任何事情的框架实际上在成为有状态框架方面做得非常糟糕:通常涉及将状态往返到 cookie 中或将其序列化到隐藏的表单字段中。这两种技术都被流行的框架(Rails、.NET、Play 等)使用。

此外,事实证明将内容保存在内存中非常有用,因为这意味着每个请求都不必重新初始化数据库连接等内容。它还允许一些非常好的功能,如 Lift 的 cometd 支持。

希望这对您有所帮助。

蒂姆

关于scala - Lift 的状态习语是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9618103/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com