J2EE下的集群负载均衡解析

网络 网络优化 网络运维
本文介绍了J2EE的集群负载均衡问题,首先我们来分析下这个环境下的考虑因素,以及这个方案下的技术定义。最后就是其他方面的知识介绍。

集群和负载均衡在很多软件和平台中都有所应用,根据不同的需求,我们所用的开发语言也不同。现在,就来说一下J2EE下的集群负载均衡的问题。首先我们还是来谈一下这个平台下的基本概念,看看有什么不同。

◆实现一个J2EE集群需要考虑的因素

设计J2EE集群需要考虑很多因素。下面这些问题都是在一个大型的J2EE系统需要考虑的(这个列表取自EJB基本训练文档-“用J2EE创建高可用性和可扩展的应用)。

◆集群

那种类型的集群适用:垂直还是水平扩展?

在那个层次实现集群:web服务器或者,servlet,JSP容器还是HTTPsession对象;或者EJB,应用服务JMS和JNDI对象还是数据库集群?

◆负载均衡

选中一个服务器的时间(也就是affinity,姻亲关系):每次请求,每个事务或者每次会话?

如何选择服务器(也就是负载均衡策略):randomly,round-robin,weight-baesd,least loade dserver,或者由应用决定?

负载均衡在哪个位置上实现,客户端还是服务器?

◆容错

服务器如何进行失败重启检测?

什么时候适合失效重启和尝试使用其他的服务器?

失败节点上的系统和应用的状态?

◆session状态持久化

状态如何传播?

传播的频率?

对象状态如何持久化?

状态持久化机制的效率如何?

复制的状态是否粘性?

网络环境对session状态的复制有限制吗?

◆建议的集群设置

下面列出在推荐的集群环境中,我要达到的目标:

可升级能力高

◆容错

动态配置,易于管理

自动发现新成员

失败重启和负载均衡,session数据内存复制

可插拔/配置的负载均衡策略

当一个成员加入或离开时,能通知组成员

通过多播的方式,无掉包的信息传输

集群对web应用和服务器来说都是无缝的。对客户端和服务端都是透明的。客户透明是指客户端无须知道集群服务或者集群的设置。集群的识别和访问和单机一样,而不是各自独立的服务。服务器透明是指服务器上的应用程序代码不需要知道是在一个集群之内。应用程序代码不能和其他的集群成员通信。

◆总结

我们看看如何部署一个集群(运行多个Tomcat服务实例)来达到上面提交的目标。我们将讨论在Tomcat5中实现session复制的集群架构和配置细节。

责任编辑:佟健 来源: 互联网
相关推荐

2009-06-18 15:54:57

J2EE下使用JNDI

2009-06-10 14:10:23

J2EE学习J2EE是什么

2009-06-10 13:37:06

J2EE可伸缩性J2EE灵活性J2EE维护

2009-06-23 08:06:46

J2EE体系架构J2EE模型J2EE设计模式

2009-06-23 16:48:26

J2EE常见问题J2EE平台

2010-09-29 10:15:35

JDKJ2EEJ2SE

2009-06-11 17:06:11

J2EE历史Java EE概述

2009-09-23 17:11:18

数据持久层Hibernate

2009-06-11 17:11:07

J2EE设计模式工厂模式

2009-06-30 14:40:32

linux

2009-06-22 17:34:40

J2EE架构

2009-06-23 08:12:48

J2EE调用存储过程

2009-06-22 17:05:41

Java EEJava企业应用

2009-06-10 13:30:32

J2EE四层模型客户层Web层

2009-06-22 16:21:02

J2EE线程

2009-06-18 16:13:14

J2EE开发

2009-06-18 15:42:15

J2EE架构

2011-11-25 14:59:36

JavaJ2EE框架

2009-06-22 17:09:00

J2EE项目开发流程

2011-05-16 14:07:58

J2EE
点赞
收藏

51CTO技术栈公众号