Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database GrailsHttpSession_Database_Http_Session_Grails - Fatal编程技术网

Database GrailsHttpSession

Database GrailsHttpSession,database,http,session,grails,Database,Http,Session,Grails,是否可以将Grails会话存储在数据库中?启动负载均衡器后,我的应用程序会随机要求用户登录(几乎每隔一次网页重定向)。我知道我可以启用粘性会话,但我在rails中看到,会话可以保存在db中,因此在多服务器环境中不会出现问题。Terracotta可能允许您这样做(我没有使用它,所以我不知道它在服务器之间共享的机制)。Grails有一个Terracotta插件。通常,数据库是应用程序中最难扩展的部分。通过添加更多的web服务器可以很容易地进行水平扩展,但通常可以垂直扩展数据库。因此,除了真实的应用程

是否可以将Grails会话存储在数据库中?启动负载均衡器后,我的应用程序会随机要求用户登录(几乎每隔一次网页重定向)。我知道我可以启用粘性会话,但我在rails中看到,会话可以保存在db中,因此在多服务器环境中不会出现问题。

Terracotta可能允许您这样做(我没有使用它,所以我不知道它在服务器之间共享的机制)。Grails有一个Terracotta插件。

通常,数据库是应用程序中最难扩展的部分。通过添加更多的web服务器可以很容易地进行水平扩展,但通常可以垂直扩展数据库。因此,除了真实的应用程序数据之外,通过在数据库中存储会话来为数据库添加更多工作没有多大意义


有关在多个Tomcat服务器中集群Grails并启用会话复制的简单方法,请参阅本文:

Terracotta是一个很好的方法,但该插件非常旧,应该避免使用。非常有用的链接,谢谢。尽管有点吹毛求疵;使用DB会话“没有多大意义”的评论来自这样一种心态,即应用程序必须不惜任何代价实现最大的可伸缩性。并不是所有的应用程序都注定会像这样增长,在这种情况下,将会话持久化到数据库可能非常有意义。是的,事实上我写了一个插件来实现这一点: