有些人认为,使用无共享架构实现每一个webapp都是可能的,甚至是必要的。如何使用这种架构风格实现一个带有购物车的webshop?
通常情况下,webshop可以使用会话来实现。在这种情况下,我必须以另一种方式实现它,这样关于购物车的信息就不会存储在服务器上。但是,有必要将购物车内容包含在隐藏字段中,以便每个请求都会将它们传递给服务器。这就是使用无共享架构的网络商店的解决方案吗?
你对如何实现webapps的无共享架构有什么想法吗?
发布于 2011-01-26 17:02:22
尽管我从来没有明确地去构建一个基于无共享( SN )的系统,但我建议那些说有必要使用“纯”SN来架构WebApps的人是:
如果你有一个web服务器集群,并且正在以某种方式负载均衡流量,这意味着你不能保证相同的web服务器将处理给定会话的每个调用-那么是的,SN的原则适用:你负担不起引入服务器亲和性的代价。
但是,将这一点延伸到“每一个”web应用程序中是非常荒谬的。
SN与所有其他架构一样,就像工具一样--它们是问题的解决方案;问题定义了解决方案--而不是相反。
发布于 2012-01-14 05:50:37
就我使用网络商店的经验而言,无共享架构比基于会话的架构更好。我已经有很多次对我的购物卡因为会话过期而消失而感到非常恼火!不管是不是AJAX,webapp至少应该将用户的选择存储在cookies中,或者,如果可用,存储在HTML5存储和其他奇妙的机制中。
然而,基于HTTP会话的应用程序也有其优点,特别是当在服务器端为用户缓存资源时,这种获取是昂贵的-这对于重负载、重业务逻辑事务系统来说是典型的。在许多情况下,混合解决方案将是最佳选择。
所以我的答案是--这要看情况。您应该编写需求并选择最好的,而不是考虑您正在应用的模式或体系结构的名称:)
发布于 2014-06-12 22:09:11
您可以使用分布式缓存(例如memcached)在服务器端存储会话数据。
https://stackoverflow.com/questions/4793734
复制相似问题