midware
作者midware·2010-12-11 13:13
·

BEA WebLogic应用优化

字数 5035阅读 3602评论 0赞 0
1.BEA WebLogic应用及面临的挑战
BEA WebLogic Server
是美国BEA公司开发的一个业界领先的应用中间件,主要用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器,在很多行业中均有着广泛的应用。

WebLogic Server
提供了对SUN J2EE架构的支持。SUN公司的J2EE架构是为企业级提供的一种支持分布式应用的整体框架。为集成后端系统,如ERP系统,CRM系统,以及为实现企业级计算提供了一个简易的,开放的标准。

WebLogic应用中,仅通过单台主机/服务器,或采用备份服务器通过冷备的方式避免单点故障,期望完成稳定、可扩展的功能,将会在实际应用中面临以下问题和挑战:

1.1. WebLogic服务器之间自动切换所面临的问题
WebLogic应用系统中,可以通过创建实例(Instance),在一台主机上模拟多个应用前端来响应用户的访问请求。每一个应用前端可有不同的IP地址和端口,在最终用户看来就像有多台服务器在同时提供应用服务。这种方式可以在应用层较好的达到持续提供服务的目的。

然而在实际应用中,多个实例的实现方式给访问者造成了很多不便,用户必须记住多个实例的域名,同时无法了解每个域名所代表的实例的运行状况。更严重的时,由于所有实例均在一台主机上运行,当主机出现故障时所有的实际均将停止提供服务,将面临整个系统平台停止工作的风险。

1.2. 处理能力有限且扩容能力有限
随着应用负载的增大,各个实例上所要处理的数据量将增大,从而影响了对用户的响应效率,造成对访问者的请求回应越来越慢等严重影响服务质量的现象。在主机方面和WebLogic系统上则直接表现为可容纳的连接数越来越小,系统性能严重下降等现象。

此时,将需要考虑增加应用实例和主机的数量来满足不断增大的应用负载需求。当仅通过主机集群(Cluster)的方式实现扩容时,将存在成本较高,严重影响正常服务的提供等问题,且扩容能力有限,无法满足不断增长的应用的需要。

1.3. WebLogic服务器主机多米诺现象
使 用单台主机设备来满足应用时,受各种条件的影响,不可避免的将出现主机故障等问题,而任何单点故障都将直接影响到业务的正常提供,造成极大的损失。考虑到 主机的冗余备份,需要有主机冗余设置来处理和接管出现故障主机的工作。传统方式是通过一台或多台主机,采用冷备份方式来实现,当正在工作的主机出现故障 时,进行人工切换到备份主机上。

这样做,除了会产生时效性的问题外,还将无法同时利用所有硬件平台的资源,应用投资得不到充分保护。特别是,当出现超过单台主机的负载情况时,所得到的将是多米诺效应,即包括冷备份主机在内的服务器组将依次被过高的负载压垮,直至无主机设备可用。

1.4. WebLogic系统发展与网络扩容的不平衡性
随着新功能的加入和用户数的增多,WebLogic系 统拓扑结构需要变化的情况将随时有可能发生,如何使应用平台适合今后发展扩容的需要,完全依靠专业技术队伍通过更改服务器配置或网络拓扑等方式进行网络调 整的方式,将存在大风险、非实时性、缺乏灵活性等缺陷。如何能够在业务正常运行的情况下进行按需增长的、动态的、且对最终用户是透明的网络调整和更新扩 容,已经成为WebLogic系统应用中迫切需要解决的问题。

1.5. 系统维护升级等问题将给相关人员造成极大的压力
WebLogic
应用的稳定运行,离不开应用系统的日常维护,而在线系统的维护操作,将会给正常应用中的WebLogic系统带来了安全隐患。在主机操作系统和应用程序的调整和升级过程中,将会由于需要重新启动正在提供服务的应用程序,甚至重新启动操作系统而使此类工作很难进行下去。有限的维护、升级时间,将对应用造成很大风险的同时,给各个方面的相关人员造成很大的压力。

2.Array Networks WebLogic应用优化解决方案
WebLogic应用中,通过Array APV系列产品的应用,从处理能力、扩展能力、安全性、应用的便利性等方面提供了负载管理和性能增强功能,能够满足WebLogic应用对持续性和稳定性的需求。

2.1.通过Array APV的服务器负载均衡提高系统的高可用性
Array APV解决方案中所指的高可用性,同时也是实施和维护WebLogic系统时所需考虑的,主要指以下几点:

1.使应用始终以一个稳定、安全的方式运行,即便存在单台设备不能提供服务时,仍能保持服务的持续性。通过智能健康检查,使整体服务持续稳定运行,即便发生单点或多点故障仍然能够保证正常提供服

2.
使整个网络环境能够更好的被管理,提供APV设备本身集群(cluster)功能、服务器集群共享、应用和后台服务器方便维护等特点。

3.投入有更好的效益,即在保证应用持续性的同时,提高系统的处理能力,并实现当用户量的增大时,在不影响应用的情况下,通过增加主机的方式,响应用户负载的增加,保证了用户投资具有很高回报。

4.即便在应用软件不够完善,如经常出现故障不能提供服务的情况下,仍然能够持续保证应用系统持续在线能力。

根据上图示拓扑结构,在常见的三层架构实现方式中,通过Web Server, WebLogic APPServer和数据库服务器,三部分来实现不同的应用功能,处理用户的访问请求。

在所有服务访问中,最终用户始终仅通过向APV上配置的一个Virtual IP及提供服务的端口进行通信,并感觉不到切换所发生的任何变化和延迟。在两台APV产品以Active-Active方式同时工作的同时,其中任何一台APV出现故障,所有应用请求将自动被另一台正常工作的APV处理。

APV可以即时按需动态检查各个服务器的状态,将下一个请求分配给最有效率的服务器,当任何服务器或应用程序不能正常提供服务时,APV能够检测到,并将会把接下来的访问请求分配给其它服务器,从而避免了由于后台某个服务器或应用的问题而影响了整个业务的提供。

APV接收到针对应用的访问请求时,将根据预先配置,将访问请求发送到后台最合适的服务器或实例上进行处理。从而实现了对后台WebLogic应用服务器的负载均衡功能,当某台服务器(Web Server/App Server)出现故障,不能实现相应功能时,APV系列产品能够自动发现故障设备,并将接下来的访问请求发送给其它能够正常提供服务的实例或服务器上进行处理,避免了由于某台服务器或实例的故障而影响了整体的业务的提供,保证了整个WebLogic应用的高可用性。

Array APV支持多种服务器负载均衡算法(持续性的和非持续性的),包括轮循算法、最少连接算法、响应时间算法、散列算法、最少连接失误算法,链路带宽算法等等。保持性算法包括,Http Header hash IPcookietURL等,保证应用的连续性。此外实际服务器可以被分配不同的加权值来调整被分配的流量。可以使性能高的大型服务器支持更多的负载。为了避免服务器因过载而崩溃,可为实际服务器指定最大连接阈值来避免该服务器过载。

2.2.Array APV解决方案为WebLogic增强应用性能
结合APV产品中性能增强功能的应用,如连接复用技术,在减小对后台服务器的负载的同时减小和后台服务器遭受应用攻击的可能。

2.1.1. Array Networks基于SpeedStack核心技术
ArrayOS
通过SpeedStack技术构建其产品的。ArraySpeedStack技术由三部分组成:一个TCP/IP栈、HTTP分析器和一个代理引擎。这种独特的架构让Array及第三方的开发人员可以在数据流的多个环节来实现垂直应用程序与SpeedStack的关联。TCP/IP栈在数据包进入系统时首先对其进行处理。TCP/IP栈通过高效的包处理来实现高性能,在处理流程的初期及时检测出有害或已损坏的数据包并将它们丢弃。TCP/IP栈的工作完成后,数据包就被交给了HTTP分析器,它以独特的方式对HTTP包头进行分解,使其它组件不必再重复相同的工作。分析引擎本身已经进行了优化,能够完成精确的HTTP处理,性能出色。

2.1.2. Connection Multiplexing(连接复用)降低服务器负载
主要作用是为了改善现有系统的总体性能,其技术原理是自动实现HTTP 1.0HTTP 1.1的转换;TCP/IP协议栈在处理长连接时具有更好的性能;将Web流量的多个短连接合并为一个长连接。同时结合Array Connection Pooling(连接池)技术,其优点在于:

·
加快了与后台服务器之间的TCP/UDP连接处理速度
a)Array APV
预先与后台服务器之间建立多个连接,并保持住它们(每个服务器最多预先建立20个连接)
b)
如果有客户端的请求,根据负载分担算法被分配到某个后台服务器上,Array APV从预先建立的该服务器的连接池中选择一个连接,在此连接上发送客户端的请求,一个连接可以被用来传送多个请求(每个连接最多可以同时处理90个请求)
c)
显著的减少了后台服务器需要处理的用户端连接数(减少量可能达90%)

·
改善了服务器的性能.
a)
服务器不需要花费更多的时间处理TCP/UDP连接建立和拆除的工作
b)
服务器不需要耗费更多的资源保持多个客户端连接

2.3.
通过Array APV提升Weblogic系统的安全防护能力
APV
产品支持地址翻译技术和安全地址映射功能,通过这些技术,访问客户不可能知道真正提供的服务器的IP地址与端口。

通过APV产品中Webwall防护墙和入侵防护功能(此功能通过美国ISS X-Forced入侵防护功能认证)的应用,能够按需实现对APV产品及应用的安全防护,另外,APV的管理全部采用SSHSSL over HTTP技术,可以防止来自内部或互联网上的攻击。

2.4.方便后台应用和产品自身的扩展:
APV
产品可以支持动态增减或删除其负载服务器群组的任何数量的服务器,而不需要对客户端或后台做任何改变,从而使系统能够轻松实现扩展。

在最初仅实现服务器负载均衡功能时,根据用户的实际应用及性能增强功能的需要,按需进行APV产品功能激活,真正实现无需增加网路设备和更改网络架构的前提下实现相应功能,轻松方便且在相对用户透明的情况下实现扩展。

3.webLogic应用优化解决方案为用户带来的益处
通过Array的解决方案满足WebLogic应用的优化需求具有以下优点:

·
消除WebLogic系统的隐患:
传统WebLogic系统应用过程中存在当单台主机设备发生故障时,整个WebLogic系统不能正常工作等问题。通过Array解决方案的应用,能够消除此类隐患,使WebLogic系统具有智能判断和处理的功能,即便某些设备发生故障,整个WebLogic应用仍能够正常运行,保证了应用的高可靠性。
·
提高WebLogic系统的处理能力:
传统WebLogic系统因采用的是热备份的方式,同一时刻只有一台应用服务器工作,而备份设备不进行应用处理,使得处理能力很难得到提高,无法同时发挥所有设备的处理能力。通过Array解决方案的应用,能够最大化的利用后台主机的资源,使多台应用服务器、主机在互为备份的情况下还可以同时工作。结合Array的性能优化功能如连接复用,极大的提高了整个WebLogic系统的处理能力。
·
方便WebLogic系统的扩展:
传统WebLogic系统应用处理能力受限于应用服务器主机的性能,很难根据应用的需求进行透明扩容,通过Array解决方案的应用,能够随着应用负载的需求进行按需透明扩容,最大化的保证了WebLogic系统的可扩展性。
·
降低系统维护难度和成本:
WebLogic
系统上运行的通常为关键业务或生产系统。作为在线系统,需要持续对WebLogic系统进行维护和管理,对应用系统的维护将极大的增大业务运行风险,并对应用平台维护人员造成极大的压力。通过Array解决方案的应用,在充分发挥Array产品智能特性的基础上,可以按需随意的下线和上线应用系统,在不影响应用的基础上对设备进行充分全面的维护和处理,降低了运行风险,减小了维护的难度。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广