Java 使用CAS、memcached和负载平衡使CAS高度可用

Java 使用CAS、memcached和负载平衡使CAS高度可用,java,memcached,cas,amazon-elb,spymemcached,Java,Memcached,Cas,Amazon Elb,Spymemcached,我正在使用CAS服务器(veresion 3.4.8)并尝试在HA环境中部署它。我使用memcached作为CAS的ticketRegistry,并使用Amazon的ELB进行负载平衡。我已经完成了CAS 3.4.x中提到的配置。我还配置了Amazon的ELB必须提供的会话亲和力/粘性会话。两个CAS服务器都部署得很好,两个memcached节点(我已经为每个CAS服务器部署了一个memcached节点,并将ticketRegistry配置为使用上述链接中提到的两个)也部署得很好,当我尝试使用C

我正在使用CAS服务器(veresion 3.4.8)并尝试在HA环境中部署它。我使用memcached作为CAS的ticketRegistry,并使用Amazon的ELB进行负载平衡。我已经完成了CAS 3.4.x中提到的配置。我还配置了Amazon的ELB必须提供的会话亲和力/粘性会话。两个CAS服务器都部署得很好,两个memcached节点(我已经为每个CAS服务器部署了一个memcached节点,并将ticketRegistry配置为使用上述链接中提到的两个)也部署得很好,当我尝试使用CAS浏览我的应用程序时,我总是被重定向到CAS的登录页面。当多个用户开始使用它时(大约10到20),问题就开始了。用户有时获得身份验证并重定向到应用程序,有时同一用户无法登录。在这两种情况下,TGT和ST都是在CAS服务器中创建的,但是当ST通过CAS(通过浏览器)发送到应用程序时,ST永远不会返回CAS进行验证,并且用户会被重定向到应用程序的以下URL。(我们使用带有spring security cas/core的grails应用程序)状态为404。这是在CAS使用服务票证重定向到应用程序后发生的

当我关闭其中一个EC2实例时,所有用户每次都开始获得身份验证。代理票证也会发生这种情况,因为我们将其用于web服务身份验证。有时会创建并验证代理票证,有时则不在该用户的同一会话中。我是不是遗漏了什么?这看起来像是与memcached相关的问题,还是像是负载平衡器问题?任何帮助都将不胜感激

注意:我已经在MemCacheTicketRegistry bean中将TGT过期时间配置为2小时,ST过期时间配置为10秒,并且我使用以下命令启动memcaced memcached-d-u myUserName-m 512-p 11211 0.0.0.0

谢谢