ColdFusion和云集群负载平衡会话

ColdFusion和云集群负载平衡会话,coldfusion,cluster-computing,rackspace-cloud,Coldfusion,Cluster Computing,Rackspace Cloud,因此,我尝试将我的应用程序移动到云端,特别是我使用RackSpace,目前为止,一切都很好,都到了point X,发现负载平衡器不提供通过https的stick会话 进一步搜索,亚马逊似乎也没有这样做 显然,我需要在服务器上维护一个用户,或者以某种方式跨实例共享会话数据 我考虑过对你登陆的服务器进行硬重定向,但是这会很糟糕,因为如果用户被添加了书签,那么用户将留在该服务器上 任何建议。您可以使用客户端变量,而不是会话变量。区别在于客户端变量必须是简单的名称=值对,但它们也可以具有不同的存储位置,

因此,我尝试将我的应用程序移动到云端,特别是我使用RackSpace,目前为止,一切都很好,都到了point X,发现负载平衡器不提供通过https的stick会话

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

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

我考虑过对你登陆的服务器进行硬重定向,但是这会很糟糕,因为如果用户被添加了书签,那么用户将留在该服务器上


任何建议。

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

编辑

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

编辑

再一次,根据您的评论——因为您有企业版,所以您可以使用该版本提供的内置集群。这里有一篇文章讨论了这个特性-


向下滚动一点,直到进入“群集和ColdFusion”部分,这一部分提供了很好的信息。

您是否在多服务器配置中运行ColdFusion?不,只是云中的企业实例。如果您在每个vps上运行“ha proxy”或“nginx”,这反过来会根据头将内容推送到正确的服务器上,该怎么办。。但是,与配置二级diy负载平衡器相比,更改应用程序的工作量可能要少一些。更改整个应用程序并不是一个真正的选项。是的,但我最初的帖子解释说,不支持ssl上的粘性会话。然而,我发现它们将在2012年年中左右得到支持