`
coconut_zhang
  • 浏览: 532932 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

CAS集群部署的问题

 
阅读更多

CAS单点部署时非常容易配置,且稳定性较好,非常适合中小规模应用系统使用。但在大规模应用系统,尤其是集群应用系统下,经常遇到问题。

一、CAS集群部署

  由于CAS Server是一个Web应用,因此可部署在Tomcat等容器中。直接部署CAS集群并使用负载均衡设备后,由于每次访问的CAS Server不固定,会发生通行证丢失。
  解决方法:配置TOMCAT集群及Session复制,解决CAS Server Session复制。详细配置方法见TOMCAT Session复制的配置。

二、CAS集群使用时,Ticket存储未做数据共享

  当用户登录后,Ticket存储在CAS Server中,由于这部分数据未保存在Session中,仅靠TOMCAT Session复制无法解决问题。默认配置下,CAS Server使用org.jasig.cas.ticket.registry.DefaultTicketRegistry把Ticket数据保存在 HashMap中,因此多台CAS Server无法共享数据。导致用户登录及退出均存在问题。
  解决方法:用JBossCacheTicketRegistry(数据共享)解决数据共享问题,使多台CAS Server使用相同的存储区域管理Ticket。

三、CAS集群无法正常Logout

  根据CAS Server工作流程,当收到Logout请求后,CAS Server会删除自身存储的有关当前用户的所有Ticket票据,“问题二”的解决方法已经解决了多台CAS Server删除票据的问题。但随后从CAS Server会发起HTTP POST请求到应用服务器,该请求中具备“logoutRequest”标志,应用服务器的SingleSignOutFilter接收到该请求后在应用服务器端进行用户登出操作。该操作主要是将应用服务器端的CAS Client中保存的用户Session数据失效,达到客户端登出效果。即,对于CAS系统,必须Server端和Client均进行登出操作,用户才会真正登出。cas退出采用的是异步操作,客户端是否退出成功也不关心。
  CAS Server的这个工作流程,在应用集群部署的情况下带来一系列问题。由于应用服务器集群化,且一般会使用Session复制,当CAS Server向应用服务器发起Logout请求时,仅针对一台服务器发起请求,导致应用服务器没有全部退出,使得用户使用登出操作时,有时可以退出,有时不能退出,用户体验很差。

解决方法:修改HttpClient的源码,具体是修改call方法,此方法是单点退出的核心方法。

分享到:
评论
2 楼 coconut_zhang 2013-01-22  
自己琢磨,额也不会
1 楼 wengsongwei8 2012-10-22  
具体修改怎样HttpClient的源码?能不能给个思路,谢谢!

相关推荐

    CAS+weblogic集群部署

    本文当是CAS+weblogic应用的部署。带有图解。

    用JBOSS CACHE 做CAS集群在weblogic上部署的问题

    NULL 博文链接:https://guoruisheng-163-com.iteye.com/blog/583209

    cas4.2.7服务端+cas客户端+示例程序+环境搭建之客户端war包

    cas4.2.7服务端+cas客户端+示例程序+环境搭建之客户端war包 一切跑不起来的程序和走不通的教程都是耍流氓,二话不说,先按照我的步骤把程序跑起来在说吧。 请看博客...

    nginx集群配置-测试通过

    通过测试的Nginx集群配置,该配置实现了轮训的sessin复制和共享。

    部署H3C云计算系统:可靠性.pptx

    主机或者虚拟机发生故障时,CVM将立即响应并在集群内其它可用的主机上重启所有受影响的虚拟机集群H3C CAS CVKH3C CAS CVKH3C CAS CVKH3C CAS CVMHA心跳网络心跳:检测管理网络中CVK节点的HA进程是否运行正常存储心跳...

    CVM管理平台介绍.pptx

    部署H3C云计算系统课程项目五 云计算虚拟化平台 CVM管理平台介绍课程目标【知识目标】 了解CVM管理平台介绍【能力目标】 能学会CVM管理平台的管理功能【思政目标】 培养学生的工匠精神,提高综合职业素养,树立社会...

    部署H3C云计算系统:计算资源.pptx

    它给虚拟机提供了物理硬件环境集群是由物理主机和虚拟机组成的计算资源集合主机池是一系列主机和集群的集合体主机可以加入到主机池中,也可以加入集群中主机池集群集群H3C CAS CVKH3C CAS CVKH3C CAS CVKH3C CAS ...

    Redis集群搭建资料大整合

    这里是Redis集群搭建的资料汇总,而且里面我已经搭建好6Redis节点,只需要按照教程部署就行了,几乎0配置 可以去我的博客2017-1-18左右的文章里看看教程

    maya:管理容器附加存储(CAS)-Kubernetes中的数据引擎

    总览 访问了解有关容器附加存储(CAS)的信息以及有关使用OpenEBS Maya的完整文档。 OpenEBS玛雅扩展Kubernetes的编排CAS(又名集装箱母语)像OpenEBS吉瓦,... 通过调整CAS部署(Pods)的调度参数来管理CAS卷的

    根叔的云图-网络故障大排查全套文档

    零存储集群添加节点异常问题排查.pdf 机架服务器 FlexServer R390服务器指示灯告警故障排查.pdf 刀片服务器开机故障排查.pdf 交换技术 AAA Radius故障排查.pdf TACACS故障排查.pdf QoS QoS故障排查.pdf ...

    H3C云计算CloudOS云管理平台操作部署手册汇总集.rar

    目录: 01 H3Cloud OS云操作系统 镜像制作指导(适用于VMware虚拟化平台) 02 H3Cloud OS云操作系统 镜像制作指导(适用于CAS虚拟化平台) 03 H3Cloud OS纳管CAS...06 H3Cloud OS云操作系统 运营版集群模式部署指导

    在虚拟机上部署云资源

    掌握主机池、集群和主机的配置,掌握虚拟交换机的配置,掌握共享文件系统的配置,掌握虚拟机的创建和操作系统的安装,掌握CAS Tools工具的安装和使用

    全新JAVAEE大神完美就业实战课程 超150G巨制课程轻松实战JAVAEE课程 就业部分.txt

    15单点登录解决方案CAS 16购物车解决方案 17跨域解决方案与提交订单 18微信扫码支付 19秒杀解决方案 20品优购系统业务分析 1集群概述 2Zookeeper集群 2品优购电商系统部署 3SolrCloud集群 4Redis...

    terraform-kubernetes-on-gcp

    容器集群 联网 Kubernetes 群集组件和某些特定于群集的基础架构资源是通过Kubernetes管理的: 应用程序部署,服务和入口 GCP负载平衡器(通过入口) 缓存有状态集 应用程序和SSL证书的秘密 自动缩放 先决条件 ...

    java开源包1

    它以 jar 的形式发布,部署容易,使用也较为便捷。 Java邮箱地址验证 jaev jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器...

    java开源包11

    它以 jar 的形式发布,部署容易,使用也较为便捷。 Java邮箱地址验证 jaev jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器...

    java开源包2

    它以 jar 的形式发布,部署容易,使用也较为便捷。 Java邮箱地址验证 jaev jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器...

    java开源包3

    它以 jar 的形式发布,部署容易,使用也较为便捷。 Java邮箱地址验证 jaev jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器...

    java开源包6

    它以 jar 的形式发布,部署容易,使用也较为便捷。 Java邮箱地址验证 jaev jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器...

    java开源包5

    它以 jar 的形式发布,部署容易,使用也较为便捷。 Java邮箱地址验证 jaev jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器...

Global site tag (gtag.js) - Google Analytics