WebLogic+F5负载均衡配置方案下面将以BEA星级合作伙伴,F5公司的BIG-IP控制器为例,来介绍硬件负载均衡器配搭weblogic服务器实现集群功能的解决方案。1.Weblogic集群Weblogic服务器集群将一组服务器集合在一起工作,来提供更灵活调配的、更稳定的应用平台。服务器集群对用户是透明的,对用户来说,服务器集群只是一个简单的server端,然而实际上,多台服务器一起协同工作来提供服务。通过部署weblogic服务器的集群功能,网站对于来自网络用户的请求具备了出色的可扩展性、更高请求处理容量和冗余能力。对于一个集成的环境,客户端的会话状态必须被保存,以使得在出现故障时能够获得备份session状态。Weblogicserver提供三种途径获得客户端会话状态:数据库复制(通过JDBC)、基于文件的复制和内存中的复制。使用基于JDBC或基于文件的持久机制分别将客户端的会话状态保存在数据库或者文件中。当一个客户端首次连接到集群中的某台服务器时,客户端与该服务器的连接建立,同时该服务器将会话状态完整地保存在离线存储器中。随后的客户端的请求将被持续地发送给同一台server,这样就保证了会话状态的更新在存储机制中的保存。如果这台服务器发生故障,那么该客户端可以连接到集群中的任何一台服务器。新的服务器通过读取储存在文件系统或者是数据库中的会话状态来恢复与客户端的会话。内存中的复制机制同样也用于保存客户端会话数据,但是它使用内存而不是其他永久存储机制。在客户端初次连接到集群中的某台服务器时,客户端与该服务器的连接建立,同时该服务器指定另外一台集群中的服务器作为辅助服务器来存储会话数据的复本。随后的客户端的请求将被持续地发送给同一台server,从而确保了在任何给定时间集群中都存有该客户机会话数据的两份拷贝。当与该客户端建立连接的服务器发生故障时,客户端可以连接到集群中另一台服务器。新的服务器将通过查找保存在Weblogic服务器cookie上的信息,对保存了客户端会话状态的复本的服务器进行定位,并且复制会话状态。通过这种容错处理的方式,客户端可以透明地故障切换到另一台服务器,无需使用持续性存储器便可长期保存会话数据。2.BIGIP实现WEBLOGIC负载均衡由于同一集群中的多个服务器能够服务于一组特定的客户端请求,所以必须通过某些机制02e2,将对虚拟服务器的客户端请求路由到集群中某台真正的服务器。通过将新的客户端请求智能地分配给可用资源,来达到提高服务器集群的处理能力的目的。这种路由请求机制必须保证:均衡集群中可用服务器上的负载;客户端发起的会话必须持续使用在初次访问时与之建立了连接的WeblogicServer:对于需要多个HTTP操作的事务(也可能是多个TCP连接),一旦和特定的服务器集群成员之间建立了客户会话,后续操作必须被定向到同一个成员,直到会话结束。这将减少开销,并且能够为每个连续的操作从另一台服务器上获取会话状态。因此改善了用户的响应时间并提高了集群总的利用率;必须保持WeblogicServer端cookie内保存数据的完整性:会话持久性是通过检查会话cookie来提供的,cookie内保存了HTTP响应0fe7的主服务器会话信息和备份服务器的信息,这样它就可以在故障发生时被集群检测并挑选集群内另一台服务器使用以进行容错处理。以上三点是使用BIG-IP控制器和WeblogicServer集群的联合解决方案所需要遵循的目标。下面我们看看F5是如何具体实现这些目标的。2.1对Weblogic集群提供负载均衡当部署Weblogic集群时,首先要考虑的,应该是使用一个本地的管理网络交通的产品对于所有WeblogicServer实体所接收到的新的请求进行负载均衡。F5的BIG-IP控制器使得可以很简单而且高伸缩性地配置Weblogic服务器集群。BIG-IP支持多种负载均衡模式,包括轮询(RoundRobin)、服务器几率(ServerRatio)、服务器能力(ServerCapacity),等几种模式。BIG-IP对Weblogic服务器的性能和可用性进行监控,并将客户端请求发送到集群中当前状态最为可用的服务器。BIG-IP通过对一系列的设备故障的监测,来确认任务所需的最主要的资源相应正常的。2.2通过BIG-IP对Weblogic服务器的用户保持访问持续性一旦用户采用内存复制技术来部署BEAWeblogicServer集群时,Weblogic服务器就启动Cookie机制来跟踪服务器实例,并保存客户端会话的主数据(在第一台执行请求的server上)和备份数据(在备份server上)。当在WeblogicServer前端部署负载均衡机制时,用户必须确认所采用的方案可以提供用户访问持续性,而不是会阻碍用来保存客户端会话数据的Weblogiccookie技术的实施。而如果采用BIG-IP,可以配置BIG-IP使其在用户的网页浏览器内插入一个单独的cookie用来跟踪客户端会话,服务器的cookie则保存容错时所需的内存复制信息。在进行普通的操作时,内嵌的BIG-IPcookie将保证客户端可以对主服务器(保存了会话状态)进行持续访问,在此阶段WeblogicServer的cookie未被进程使用;然而当故障发生时,服务器的cookie被激活,提供备份会话数据所在的位置,使得客户端的请求可以被集群内的任一其他的服务器进行容错处理。(见下图)1)客户端访问Weblogic集群;BIG-IP察觉到请求中没有cookie存在,于是选择任一台Weblogic服务器对客户端请求进行响应。2)用户信息保存在服务器端,同时服务器在HTTP回复中写入cookie。3)HTTP回复被发送回客户端;BIG-IP写入第二个cookie,包含信息为该客户端建立连接的服务器端。4)当下一次请求到达时,BIG-IP读入自己的cookie信息,并将用户请求导向同一台服务器。在BIG-IP上配置在线cookie持续性1.在导航栏中点击Pools,打开Pools窗口;2.在Pools列表中,点击你想要建立插入方式的pool;3.点击“持久”标签(Persistence),打开“持久”窗口;4.点击“ActiveHTTPCookie”按钮;5.从方法列表(Methodlist)中选择“插入”方式(insert)。这样就保证了BIG-IP会在客户端浏览器中插入一个单独的cookie,而不会修改用来进行容错处理的WeblogicServercookie;6.输入timeout值,该值将决定cookie在客户端多久过期;7.点击Apply按钮。2.3通过BIG-IP从Weglogic服务器卸载SSL压力SSL(加密套接字协议层)是一种应用极为广泛的WEB信息安全传送协议。最初由Netscape开发以提供Internet上的安全连接和传送,目前,98%的Web上的安全传送都运用SSL。SSL已经成了安全互联网交易中数据加密的工业标准,采用SSL的网站在1998年和1999年间增加了两倍。由于SSL运用加密算法和密码,其加密/解密过程需大量占用服务器的CPU资源,使CPU利用率接近100%,从而大大降低了服务器性能。对于需要进行加密传输的网站,BIG-IP提供可伸缩的SSL编码/解码机制。由于对SSL的处理会加重服务器的负担,所以把SSL负担从Weblogic服务器上卸载下来将大幅度地提高集群的执行能力。用BIG-IP来承担繁重的SSL计算,这样可以使得Weblogic服务器着力于他们最拿手的WEB应用的处理,同时也保证了在网页上的信息交互的安全性。BIG-IP的负载均衡可以实现对采用SSL协议实现的第七层协议的功能进行负载均衡,比如使用解码包里的信息来进行智能化负载均衡。SS0fe7L信息流被解码,以明文方式传给目的地。如上图,当使用BIG-IP的SSL加速器时,所有非SSL数据流可以未受任何改变地通过加速器;但是当由SSL加密过的数据流经过SSL加速器时,进入的SSL数据流被解密并干净地传给服务器,而外流的SSL数据流被加密并传向客户。这样服务器只需简单地处理SSL请求,原本消耗众多计算资源的HTTP/SSL现在被专用的SSL加速设备负责处理。使用了SSL加速器之后,系统每秒处理的安全连接数可由原来几十个增长到数百个。对于那些有较高安全级别的请求,BIG-IPv4.1提供了重编码的功能,在后台对信息流重新编码,然后发送给Weblogic服务器。这种方案保证了对安全敏感度很高的网站在因特网的任一个环节都不会暴露明文信息,同时依然可以进行负载均衡。需要指出的是,额外SSL容量可以通过软件密钥增加到BIG-IP上,这使客户能够仅在其需要时购买SSL容量。2.4使用BIG-IP提高网络和Weblogic服务器的处理能力F5和BEA共同提供了一套解决方案,以使得用户对基础设施的投资效益最大化。在Oneconnect?和HTTP1.1之前,一个客户端和服务器端的简单连接就可能由好几个TCP会话组成,这些额外的连接的产生和销毁都会导致不必要的损耗。BIG-IP的Oneconnect?以最小的TCP链接将请求发送到服务器,减低了网络、服务器和客户端之间的冗余,减轻了HTTP交通阻塞。这样,Weblogic服务器可以发挥更大的性能,带宽的损耗也可以减低20%。3.该解决方案的优势流量控制--BIG-IP提供了WebLogic服务器集群所需的流量管理能力和用户持续性。业经验证的兼容性--BIG-IP与WebLogic服务器进行互操作,可保持重要的服务器持续性(BIG-IP)和用户会话数据(WebLogic),以实现无缝、可扩展的服务器集群。SSL能力--BIG-IP提供了集成的SSL处理,以提高WebLogic服务器集群的性能和可扩展性。优化网络和WebLogic服务器性能--BIG-IP的OneConnect?能够智能管理HTTP会话,从而将带宽成本降低了20%,并增加了后端服务器集群的容量。易于设置--该解决方案不需要额外的WebLogic配置。客户可以在其WebLogic服务器前面简单地配置和部署BIG-IP。自动应用升级--利用F5的BIG-IP和GLOBLE-SITE,BEAWebLogic用户可以实现自动软件更新。当客户想要更新WebLogic服务器上的任何内容(包括WebLogic软件)时,可以采用F5的GLOBLE-SITE来自动安排非高峰运行时间的内容发布。GLOBLE-SITE能够与BIG-IP进行通信,从而可在进行内容更新的同时启动或关闭服务器。服务器场的配置图1:服务器场配置1.公众DNS服务器2.互联网3.路由器(思科系统)4.负载均衡器(F5NetworksBIG-IP)5.负载均衡器(F5NetworksBIG-IP)6.前端Web服务器场(6台服务器)7.SMTP和DNS服务器8.终端服务、调试和管理服务器9.SQLServer服务器110.SQLServer服务器211.SQLServer服务器312.SQLServer服务器413.SAN单元(惠普)14.ActiveDirectory域控制器115.ActiveDirectory域控制器216.MOM服务器17.备份服务器(Veritas软件)18.备份磁带设备19.HTML转换服务器20.镜像安装服务器(Altiris部署服务器)21.路由器(思科系统)22.周边网络图1是互联网平台运营部门搭建的服务器场和网络的示意图。