我正在使用VisualWorks Smalltalk,Seaside和Gemstone / S编写Web应用程序。
此时,只有当客户端始终返回到同一图像时,才能维护客户端的会话状态(但如果会话过期,则客户端可以使用任何图像重新启动)。
我想了解使用Gemstone / S数据库共享会话状态是否可行。这意味着可以使用直接的http负载平衡,我不需要担心大量用户的图像亲和性。
我可以看到所有这些都是通过Seaside的Gemstone实现“免费”完成的,但我想使用Visualworks,因为它有一个更强大的IDE,我已经熟悉它了。我在Google上可以找到的所有引用都假设使用了Gemstone smalltalk和Seaside的Gemstone实现。
有人这样做过吗?如果是这样,我可以遵循任何研究结果或教程吗?如果我在搜索中错过了一个明显的链接但我真的看不到它,那么很多道歉。
答案 0 :(得分:2)
据我所知,没有简单的方法可以做到这一点。非常简化,并且忽略了Seaside采取的许多优化,Seaside会话是等待恢复的执行堆栈的快照。将冻结的执行堆栈迁移到另一个映像并重新启动它是非常重要的。
答案 1 :(得分:1)
我们的应用程序使用相同的堆栈(Seaside,VW,GS),但我们没有使用大众和大众之间的完整GBS接口。 GS允许一个VW图像为几个海边会议提供服务。但是,即使在这种混合中,也需要与每个大众图像的会话亲和力。
您在大众开发Seaside应用程序的原因是有道理的。它确实是一个更好的开发环境,但您可以考虑拆分开发和部署:在大众中编写代码并在GLASS中部署。这是使用GLASS的传统方式,尽管使用Pharo进行开发。