Tomcat集群Cluster实现原理剖析.pdf
《Tomcat集群Cluster实现原理剖析.pdf》由会员分享,可在线阅读,更多相关《Tomcat集群Cluster实现原理剖析.pdf(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、本文意在介绍对tomcat集群进行更深入详细的配置以满足特定需求。对于 WEB 应用集群的技术实现而言,最大的难点就是如何能在集群中的多个节点之间保持数据的一致性,会话(Session)信息是这些数据中最重要的一 块。要实现这一点,大体上有两种方式,一种是把所有 Session 数据放到一台服务器上或者数据库中,集群中的所有节点通过访问这台 Session 服务器 来获取数据;另一种就是在集群中的所有节点间进行 Session 数据的同步拷贝,任何一个节点均保存了所有的 Session 数据。两种方式都各有优点,第 一种方式简单、易于实现,但是存在着 Session 服务器发生故障会导致全系统
2、不能正常工作的风险;第二种方式可靠性更高,任一节点的故障不会对整个系统 对客户访问的响应产生影响,但是技术实现上更复杂一些。常见的平台或中间件如 microsoft 和 IBM WAS 都会提供对两种共享方式的支持,tomcat 也是这样,但是一般采用第二种方式。当采用 tomcat 默认集群配置()时,配置的细节实际上被 省略了,对于大多数应用而言,使用默认配置已经足够,完整的默认配置应该是这样:下面笔者对这里的配置项作详细解释,以下内容均是笔者阅读了tomcat 官方文档后自己的理解,有些可能不对,希望读者能带着批判的眼光阅读,并欢迎指正笔者错误。tomcat 集群各节点通过建立 tcp
3、链接来完成 Session 的拷贝,拷贝有同步和异步两种模式。在同步模式下,对客户端的响应必须在Session 拷 贝到其他节点完成后进行;异步模式无需等待 Session 拷贝完成就可响应。异步模式更高效,但是同步模式可靠性更高。同步异步模式由 channelSendOptions 参数控制,默认值是 8,为异步模式,4 是同步模式。在异步模式下,可以通过加上拷贝确认(Acknowledge)来提高可靠性,此时 channelSendOptions 设为 10。Manager 用来在节点间拷贝 Session,默认使用 DeltaManager,DeltaManager 采用的一种 all-
4、to-all 的工作方 式,即集群中的节点会把 Session 数据向所有其他节点拷贝,而不管其他节点是否部署了当前应用。当集群中的节点数量很多并且部署着不同应用时,可以使 用BackupManager,BackManager 仅向部署了当前应用的节点拷贝Session。但是到目前为止 BackupManager 并未经过 大规模测试,可靠性不及 DeltaManager。Channel 负责对 tomcat 集群的 IO 层进行配置。Membership 用于发现集群中的其他节点,这里的 address 用的是组播地址(Multicast address,了解更多组播地址详情请参见),使用同
5、一个组播地址和端口的多个节点同属一个子集群,因此通过自定义组播地址和端口就可将一个大的 tomcat 集群分成多个子集群。Receiver 用于 各个节点接收其他节点发送的数据,在默认配置下 tomcat 会从 4000-4100 间依次选取一个可用的端口进行接收,自定义配置时,如果多个 tomcat节点在一台物理服务器上注意要使用不同的端口。Sender 用于向其他节点发送数据,具体实现通过 Transport 配 置,PooledParallelSender是从 tcp 连接池中获取连接,可以实现并行发送,即集群中的多个节点可以同时向其他所有节点发送数据而互不 影响。Interceptor
6、 有点类似下面将要解释的 Valve,起到一个阀门的作用,在数据到达目的节点前进行检测或其他操作,如 TcpFailureDetector 用于检测在数据的传输过程中是否发生了 tcp 错误。关于 Channel 的编程模型,请参见。Valve 用于在节点向客户端响应前进行检测或进行某些操作,ReplicationValve 就是用于用于检测当前的响应是否涉及 Session 数据的 更新,如果是则启动 Session 拷贝操作,filter 用于过滤请求,如客户端对图片,css,js 的请求就不会涉及 Session,因此不需检测,默 认状态下不进行过滤,监测所有的响应。JvmRouteBi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Tomcat 集群 Cluster 实现 原理 剖析
限制150内