1

所以我正在尝试将我的应用程序移动到云端,特别是我使用 RackSpace 并且到目前为止一切顺利,一切都指向 X 并发现负载均衡器不通过 h​​ttps 提供坚持会话。

进一步搜索,亚马逊似乎也没有这样做。

显然,我需要在服务器上维护用户或以某种方式跨实例共享会话数据。

我考虑过硬重定向到您登陆的服务器,但这会很糟糕,因为如果用户添加书签将留在该服务器上。

有什么建议么。

4

1 回答 1

2

您可以使用客户端变量,而不是会话变量。不同之处在于客户端变量必须是简单的名称=值对,但它们也可以有不同的存储位置,以满足您的要求。根据您的需要,您可以选择将值存储在浏览器中、通过“cookie 存储”或在数据库中。您可以选择客户端变量在 Coldfusion 管理员中的存储方式。这些选项中的任何一个都会将存储从特定应用程序服务器实例中移出,而这正是简单集群所需要的。如果您不太关心特定值的安全性,请选择基于 cookie;如果这是一个问题,请选择数据库。显然,如果您选择数据库,则需要将所有应用服务器配置为指向同一个数据库。

编辑

我没有意识到你在谈论一个现有的应用程序。是的,那肯定是个问题。在这种情况下,您需要做的是将负载均衡器配置为将给定的 CFID 和 CFToken(从 cookie 中读取)与集群中的特定节点相关联。这样,“粘性”对最终用户是透明的,并且只会持续与会话一样长。

编辑

再一次,根据您的评论 - 由于您拥有企业版,您可以使用该版本提供的内置集群。这是一篇讨论该功能的文章 - http://www.adobe.com/devnet/coldfusion/articles/clustering_cf8.html

向下滚动一点,直到您到达“Clustering and ColdFusion”部分——那里有很好的信息。

于 2011-12-19T15:55:14.347 回答