- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
J2EE集群原理I.doc
HYPERLINK /blog/321400 J2EE集群原理 什么是集群呢?总的来说,集群包括两个概念:“负载均衡”(load balancing)和“ 失败接管 ”(failover) 图一:负载均衡 多个客户端同时发出请求,位于前端的负载均衡器根据特定算法,将请求分担给比较空闲的机器,从而实现较高性能和较好的扩展性 图二:失败接管 当客户端连续向某个服务器发出请求时,该服务器可能处理到一半就宕机了,失败接管系统能够检测出有问题的服务器,将后续的请求转发至其他可用的机器,从而实现容错功能 那么,哪些对象可以被集群呢,答案是:“可以被部署在分布式拓扑的组件 ” 因此,负载均衡和失败接管会发生在哪些 J2EE代码中呢?“仅当你调用分布式对象的方法时 ” 图四:分布式对象 客户端和目标服务器不在一个 JVM上,他们之间通过标准的网络协议进行通讯,这也就给集群提供了用武之地,实现集群效果的设备可以放在边界上对通讯做一些处理。 J2EE的分布式技术包括: JSP,JDBC,EJB,JNDI,WEB SERVICE等等 一. Web层的集群实现 这是最重要最基本的 J2EE集群功能,网络层集群技术包括:Web负载均衡和HTTPSession失败接管 Web负载均衡 图五:网络负载均衡 负载均衡器可以是一个硬件设备,比如 F5 Load Balancer,也可以是另外一台服务器加一个负载均衡的插件,甚至一个 Linux的嵌入式设备都能胜任。通常,负载均衡包括以下几个特点: 1.实现负载均衡算法 常用的算法有: Round-Robin, Random 和 Weight Based,算法的最终目标是尽量使每台服务器的负载达到平衡,但以上算法只是根据每台服务器接收的请求来进行均衡,因此都不能完全达到理想化的目标。有 些复杂的算法可以在分发请求之前检测机器的性能,从而决定要由哪台机器来处理请求。 2.健康监测 一旦某台机器宕机了,负载均衡器要能够及时发现情况,并且将请求转交给其他可用的服务器,保证做到“ failover” 3.Session stickiness 即是让一次 session会话的请求都尽量交给一台机器处理,这样省去了服务器之间交换 session数据的开销 HTTPSession失败接管 当session进行到一半时,如果服务器挂了,我们就要想办法让session在另外一台机器上继续进行,而不是让用户重新来过。下面图六解释 了实现HTTPSession Failover的原理:每次的session都会分配一个唯一的id,这个id以cookies的形式存放在客户端中,负载均衡器通过id分辨请求是属 于哪个session的。在第四步中,服务器 A以某种定义好的方式,定期将 session数据保存起来,一旦出问题,负载均衡器会自动通知另一台服务器 B,让它取出保存的数据,接 A的班 图六 要实现以上基本功能,首先要支持以下特性: 1.全局session id 每个jvm内部都会为每次session维护一个唯一的id,但多个jvm之间的session id会不会重复就很难说了,所以负载均衡器要能够协调各个jvm,使每个session id都能全局唯一。 2.如何备份session 这个跟具体厂商有关,后面会讲到 3.备份的频度和粒度 这个事关负载均衡的性能,因为备份数据的过程直接占用cpu、网络和IO性能 I.数据库方式备份 这是最简单的实现方式,数据库还能在整个系统都当掉时依旧保存好 session 数据,可靠性高,几乎所有 J2EE 实现都提供了这种方式,当然,你的 session 数据必须是可序列化的。但是,这种方式一般推荐不要在 session 中存放过大过多的数据,因为数据库的事务过程相当费资源,但这样也大大限制了它的使用范围,毕竟我们有时必须要在 session 中存放一些大对象 II.内存拷贝方式 这种方式好处很多,首先它省去了数据库连接和事务的开销,其次由于备份的数据已经放在内存中了,也就省去了从数据库恢复的过程 “JavaGroup”是当前tomcat和jboss集群方案的通讯层协议,本质上是一个可靠的组间通讯和管理的toolkit,它的核心功能 在于“ Group membership protocols” 和“message multicast”,用在集群上非常适合,关于JavaGroup的更多内容,请参考 /javagroupsnew/docs/index.html III. Tomcat的实现:多服务器之间互相拷贝内存 虽然实现起来容易,但这种方法的弊端也显而易见,当节点增加时,拷贝
您可能关注的文档
最近下载
- 气象学重点 农林气象学思考题.docx VIP
- T_CPQS XF003-2023 灭火器产品维修、更换及售后服务.docx VIP
- DB5325T 123-2025 设施蓝莓采收与贮藏技术规程.docx VIP
- 1共析转变.ppt VIP
- 操作系统原理(全套1236页PPT课件).pptx VIP
- 计算机操作员中级实操试卷资料.docx VIP
- DB5325T123-2025 设施蓝莓采收与贮藏技术规程.pdf VIP
- 农林气象学模拟题.doc VIP
- TCPQS+XF006-2023 消防水带产品维护、更换及售后服务.docx VIP
- 广东省2024年普通专升本《管理学》真题-广东专插本最前线.pdf VIP
有哪些信誉好的足球投注网站
文档评论(0)