我们正在尝试将旧的 coldfusion 站点部署到新的 CF8 集群上。
该集群由在单个 Windows 2008 服务器上在 JRUN4 下运行的三个 cf 实例组成。
我已将集群设置为不复制会话,并打开粘性会话。每个实例都设置为使用 J2EE 会话变量。
该网站的应用程序标签有:
sessionmanagement="Yes"
setclientcookies="Yes"
setdomaincookies="Yes"
当每个实例启动时...实例日志中没有报告任何错误,并且它们毫无问题地加入集群。
尽管实例确实有:
16/10 08:31:25 info
SessionReplicationService successfully
joined a JINI lookup service (assigned
JINI-ID .....)
和
16/10 08:31:25 info Clusterable
service SessionReplicationService
discovered a SessionReplicationService
peer on a JRun server named
"xxxx" on host xxxx
这很有趣,因为会话复制肯定已关闭,SessionReplicationService 是否也负责粘性会话?
背景知识已经足够了,问题是粘性会话似乎根本不起作用,每个请求都会反弹到不同的实例,而且似乎每个实例上的会话都会丢失?
一旦集群降至单个实例,Web 应用程序就会按预期运行,并且会话似乎正常。
有人能给我一些建议吗?我在网上搜索了好久,但似乎找不到任何答案。
答案1
确保 jrun-web.xml 和 jrun.xml 中的设置反映您的 CF 管理员或代码设置。根据我的经验,它们并不总是能正确同步。