分享
 
 
 

WebLogicServer9.0产品新特性介绍

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

WebLogic Server 9.0是BEA最新推出的应用服务器版本。这个版本与J2EE 1.4完全兼容,性能有了更好的表现,同时在运行管理方面、可靠性方面有了进一步的提高。同时WebLogic Server9.0提供了非常多的新特性,在运行管理、系统可靠、高效等方面提供了很多使用功能,这里不一一列举,有兴趣可以查看:http://e-docs.bea.com/wls/docs90/notes/new.html。那么对于我们开发和管理人员,最感兴趣的有哪些,下面着重列出:

应用升级

问题的提出:

当我们将更新应用需要发布到生产系统时,常常会碰到这样的问题:正在进行的业务操作必须中止,将新的应用替换旧有的应用。这样会使当前正在进行的业务操作停止,影响业务工作。另外,从业务上原有未完成的操作,新版本更新之后,如果新、旧版本有差异,会导致前后处理不一致。现在这样的问题,可以在Server9.0很好的解决了。

这一功能就是Server9.0产品模式下应用更新。它可以支持:

在不中断客户端访问的情况下升级Web和企业应用。

在现有应用存在的前提下,并列部署更新的应用版本

新的应用版本处于“激活”状态

现有应用处于“退休”状态

新的客户请求被路由到新的版本

现有处理中的客户请求被路由到旧的版本

在所有现有客户端完成工作,或是超时后,WebLogic Server将旧版本将解除部署

访问情况如下所示:

使用该功能要注意以下说明:

在产品模式下有效

客户端必须通过到Web应用的HTTP访问服务器

因此支持WAR和EAR部署

Web服务、Java RMI等非HTTP访问方法不能使用版本化应用

应用应完整,最好使用应用涵盖的JDBC和JMS

Server新加状态说明:

在原有WebLogic Server9.0的运行状态基础之上加入了Admin状态,这一状态的特点是:

Server是运行状态,但只对管理员角色级的操作有效,管理控制台是有效的,只接受管理员角色的请求,对来自所有非管理员的请求都会被拒绝。

应用在Admin状态下激活,他们只接受用户是管理员角色的请求,这样不公开应用的情况下,在生产环境测试管理模式的应用

因此,使用Server在Admin状态带来的好处:在生产环境部署更新应用时,不用将前端的连接断开,用管理员角色直接进行测试,不再担心前端请求会访问到应用,影响应用的发布和测试。这样对于系统上线前的准备非常有帮助。

如下,是WebLogic Server生命周期图说明:

对于如何切换到Admin状态,有以下两种方式:

1.当WebLogic Server 没有启动时,可以启动Server到Admin状态,在启动脚本startWebLogic.cmd 中java [options] weblogic.Server 命令options选项加入:

-Dweblogic.management.startupMode=ADMIN

2.当Server 处于Running状态时,可以在管理控制台,选择Server控制选项,选择Grace Suspend或者Force Suspend将Server切换到Admin状态。

管理控制台中的门户应用程序支持

管理控制台的新架构基于WebLogic Portal Framework,而且管理控制台使用构建在Structs之上的模型-视图-控制器方法,这使得控制台更加开放,更加易于扩展。现在,可以以常用于扩展门户应用程序的方式来扩展管理控制台。控制台扩展可以包括现有页面、新页面和小节,以及JSR 168或WSRP portlet的简单改写。

配置更改的两阶段提交

为了保护修改并防止其他人进行修改,管理控制台中引入了一个新的区域,称为Change Center,在开始修改域配置之前,首先锁定管理控制台。当完成修改时,保存这些修改并将它们发布到域中的所有实例,也可以回滚修改并释放锁定。每台服务器自行决定它是否接收修改。如果所有的服务器都接受修改,它们将更新它们的工作配置树,修改完成。如果有一台或多台服务器不接受修改,那么所有的服务器都不会使修改生效,因此避免了出现未完成的中间状态。这种功能有助于确定WebLogic Server配置信息总是正确和一致的。

生产环境的服务器性能自调整

在WebLogic Server9.0之前,Server的一些性能参数是在Server启动之前设置的,如线程数等,不能随着系统的运行情况进行自动调整,这样可能不会最大限度的使用系统资源。另外,Server上部署不同的应用,但对应用的重要级别不能按照权重分配资源的比例。针对上面的问题,WebLogic Server9.0提供了服务器性能自调整的新特性,可以解决上述问题。而且通过自调整功能简化了对WebLogic Server的配置过程,同时自调整功能有助于防止请求高峰期间的死锁情况。

WebLogic Server中关键的自调整功能包括:

工作负荷(Work Managers)管理――管理员可以在域级别、应用程序级别和模块级别上定义工作调度策略和约束。这样,当我们在WebLogic Server部署多个应用,而这些应用有不同的性能要求,就可以使用Work Managers定义的策略,根据应用的重要情况,分配不同比例的资源。如,网上银行业务有企业银行业务和个人银行业务,因为企业银行业务资金数额大,可靠性要求高,那么就可以使用Work Managers为其分配更多的资源。

自动的线程计数调整――通过基于历史吞吐量和队列大小,自动修改线程池的容量,可以最大化线程池的吞吐量。

线程调度功能――WebLogic Server 9.0实现了commonj work manager API,把线程调度功能公开给开发人员。应用程序也可以使用Work Manager API来异步执行工作,并接收关于执行状态的通知。

Work Manager可以对如下资源进行控制:

Fair Share Request Class: 对请求指定线程使用时间所占百分比。例如,Server上运行两个模块,Work Manager指定模块A的Fair Share Request Class为80,指定模块B的Fair Share Request Class为20。当有大业务压力时,请求数量超过线程数,这时WebLogic Server将会分别安排80%和20%的线程使用时间给模块A和模块B。

Response Time Request Class: 指定响应时间(毫秒为单位)。此时间不是指某一具体的请求响应时间,而是请求处理的平均响应时间。 WebLogic Server会根据响应时间减去平均处理时间,得到容忍等待时间。Server调整前端请求压力,以使平均等待时间和容忍等待时间成比例。例如,Server上运行两个模块,Work Manager指定模块A的响应时间目标为2000ms,模块B的响应时间目标为5000ms,当到大压力情况下,WebLogic Server控制分配到模块A和模块B的请求,使得响应时间大致在2:5。实际的平均响应时间可能会比设定的响应时间高或者低,但响应时间比会大致相同,如模块A的响应时间为1000ms,那么模块B的响应时间会在2500ms。

Min Threads Constraint: 最小线程限制,这样可以给一些请求分配最小线程数,防止请求申请新线程,而资源没有,产生死锁。

Max Threads Constraint:最大线程限制,当请求达到最大的线程限制之后,Server将不会接受新的请求处理,直到当前的线程数目下降了。

Capacity Constraint:容量限制,当到达这一容量限制时,Server会拒绝前端请求,这样保障了Server不会被资源过度消耗,达到系统可靠服务的目的。容量数目包括:等待请求和处理请求之和。

Work Managers 可以在如下配置文件进行域级别、应用程序级别和模块级别上定义:

config.xml―Work Manager指定应用或应用模块的约束条件,可以使用Server Console来定义Work Manager.

weblogic-application.xml―Work Manager指定应用或应用内模块的约束条件

weblogic-ejb-jar.xml or weblogic.xml―Work Managers 指定模块的约束条件

weblogic-web-app.xml―Work Managers 指定应用的约束条件。

配置示例:

<work-manager

<nameresponsetime_workmanager</name

<response-time-request-class

<namemy_response_time</name

<goal-ms2000</goal-ms

</response-time-request-class

</work-manager

自动的线程计数调整:

在WebLogic Server9.0版本之前,进程有多个执行队列,在不同的执行队列,基于优先级和排队顺序,执行不同的任务,这样可以避免死锁。有缺省的执行队列:weblogic.kernel.default,还有预先定义的队列来做内部管理用,如:weblogic.admin.HTTP和 weblogic.admin.RMI。对性能的调整,可以通过调整缺省队列上的线程数,或者为特定的应用配置自己的执行队列,对这个执行队列指定相应的线程数。

对WebLogic Server9.0,建立了单一线程池,可以执行所有类型的操作。 WebLogic Server基于我们定义的规则和实时运行情况,来调整处理工作的优先级。线程池可以根据系统吞吐情况,自动调整大小。例如,根据历史吞吐量的统计,表明需要更高的线程数量时,WebLogic Server将自动增加线程数目。与此类似,当统计表明减小线程不会影响吞吐量时,WebLogic Server会减少线程数。这一新策略将使管理者更容易配置资源和性能调优,避免向从前一样调整自己的执行队列。

过载保护

当系统的负载压力非常大时,如果不对处理容量进行配置,那么会导致内存耗尽(out-of-m异常、执行队列过载等问题。因此在WebLogic Server9.0可以对如下资源进行配置:

因为在Server9.0使用了单一线程池,因此可以在管理配置时,指定最大的队列数目。超过这一配置,Server将会拒绝请求。请求包括:Web 请求;非transaction的RMI请求。为了保证在这种情况下,管理员还可以对Server进行管理,可以配置管理通道来管理,指定的最大队列长度不会包括管理通道数目。

在Web应用中限制HTTP 会话数目。这样当到达最大的会话数目之后,Server将拒绝请求创建新的会话。如果是集群环境,其中一实例到达最大会话数,那么将通过Proxy转发到另外一个实例上。 <session-descriptor

<max-in-memory-sessions12</max-in-memory-sessions

</session-descriptor

内存溢出系统自动退出。即当系统运行时,出现内存溢出错误,Server就会自动停机,避免应用处于不稳定运行状态。然后,可以通过节点管理服务器或者其它工具将Server自动重启,缩短宕机时间。配置如下:

<overload-protection

<panic-actionsystem-exit</panic-action

</overload-protection

过载状态。如果运行实例处于Work Manager容量超限或者低内存状态,Server9.0通过ServerRuntimeMBean.getHealthState(),可以获得Server 新的一个状态Overloaded.可以提示Server已处于不正常状态,便于管理员对系统状况清楚的了解。

广域网或城域网的HTTP会话复制和故障转移

WebLogic Server为我们提供了业界最强的集群功能,它能够实现系统的高扩展性和高可靠性。

高扩展性? 当系统的整体性能不能满足业务压力要求时,为了提高吞吐量,不需要做应用代码的更改,只要做系统横向或纵向的扩展,在集群中动态地添加新的server,部署相应的应用。这样可以充分利用现有设备时,并保证了系统良好的扩展性。

高可靠性? 同样的服务可以由集群中的多个server来提供。对会话信息等采用Server上备份的机制,这样当其中一个server发生故障时,另一个server可以接管发生故障的server继续工作。前端业务可以继续完成,确保了系统7×24高可靠服务。

在IT系统建设的时候,集群系统都在一个局域网内,来实现负载均衡和容错。但是当这一局域网系统有问题时,就无法提供服务了。在WebLogic Server9.0提供了更高层面的集群服务――跨域的容错服务,可以很好的应对这个问题。

整个系统结构见下图:

假定原有集群服务为集群A 提供,在原有负载均衡前配置全局负载均衡器。另外根据Domain A的结构复制建Domain B。这样全局负载均衡器可以根据要求,配置相应负载均衡策略,接收到前端请求时,根据配置,将请求分发给后面的集群。通过复制通道,运行在集群A中的服务器实例上的会话信息,可以被复制到集群B中的服务器实例上。这样当集群A中的某一主Server出现问题时,集群A中的另一个Server可以从集群B获得会话数据,对于此次会话充当主Server。局部负载均衡可以将请求切换到该Server上。如果集群A中所有Server都不能提供服务,局部负载均衡将HTTP请求返回全局负载均衡,全局负载均衡将请求转发给集群B,集群B的局部负载均衡将请求发送给有复制会话信息的Server上。这样就实现了跨集群的负载均衡。这种系统结构会对异地应用备份中心建设有参考意义――建设两个物理位置不同的集群系统,系统部署的应用相同,当其中的一个集群系统发生了网络等故障时,应用的处理可以自动切换到另一个系统,而业务应用不会发生中断。

对跨集群的网络结构,有两种不同的情况:一种为跨城域网(metropolitan area network,MAN)中的集群,另一种为跨广域网(wide area network,WAN)的集群,如地理上相隔很远的地方。对于上述两种网络,跨集群的系统结构是一样的,不同的是会话复制方式不同。

对于跨MAN方式的集群,WebLogic Server提供实时基于两个集群一级的同步会话内存复制,这样要求网络延时比较低,在集群响应时延范围之内。否则会出现超时错误。

处理过程如下:

客户端将请求发送给全局负载均衡器;

全局负载均衡器将请求根据会话情况,将请求发送给后端,图示为发送给局部负载均衡器1;

局部负载均衡器1接收到请求,根据策略,发给后面的Server实例,如S1;

当S1创建完会话后,会自动在另外的集群中选择一运行实例,复制会话信息,如S6;

跨集群容错的几种情况:

当集群1中的主实例 S1出现问题时,集群1中的S2或S3会从S6中取得备份的会话信息,充当主实例,S6继续从充当备份实例。

当S6出现问题,无法服务,则S1会自动在在Cluster2中再选择一个实例充当其备份实例,将会话信息复制过去。

当集群1中所有实例服务出现故障,如网络问题。这时,全局负载均衡器将把请求转发给集群2,集群2中的实例接收对应请求,进行处理。

对于跨WAN方式的集群,主要使用会话信息通过异步的JDBC持久化到远程的集群实例上来实现容错。对异步的JDBC持久化,即定期地,将会话状态会刷新到远程集群服务器实例上表中的存储器。因为到远程服务器实例的JDBC持久化是异步执行的,它比同步的JDBC复制性能更高,对于在同步JDBC复制情况,数据库写操作延时会影响响应的时间。

处理过程如下:

客户端将请求发送给全局负载均衡器;

全局负载均衡器将请求根据会话情况,将请求发送给后端,图示为发送给局部负载均衡器1;

局部负载均衡器1接收到请求,根据策略,发给后面的Server实例,如S1;

当S1创建完会话后,会采用异步的JDBC调用方式,将自动在另外的集群中选择一运行实例,复制会话信息,如S6;

跨集群容错的几种情况;

当集群1中的主实例 S1出现问题时,集群2中的S6充当主实例,会话信息会备份到第二个实例上。

当集群1中所有实例服务出现故障,如网络问题。这时,全局负载均衡器将把请求转发给集群2,集群2中的实例接收对应请求,进行处理。

上述只是WebLogic Server9.0的几个新特性的介绍,对WebLogic Server在Web Service,JMS,管理框架等方面还是非常值得关注,希望本文对我们今后的使用有所帮助。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有