扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
1. 简介
BEA的WEBLOGIC提供在互联网上进行WEB服务所需要的强大的电子商务平台。作为行业领先的J2EE应用服务器,对于所有在weblogic平台上进行的应用部署,其主旨必然是要如何提供给用户一个更稳定可靠的、可伸缩的、快速的服务应用。
2. BEA Weblogic服务器和负载均衡器
由于网上用户访问量的急剧增长,信息获取的速度和稳定度成了制约互联网发展的主要因素。服务器必须具备提供大容量并发访问服务的能力,光靠单机版的服务器的有限性能是不可能解决这个问题的。 Weblogic 服务器本身提供了集群的负载均衡的功能,而通过与硬件负载均衡器的配合使用,可以将 Weblogic 服务器部分的运算压力减轻,并使 Weblogic Server 专注于高性能 WEB 和 EJB 服务的提供,使得部署在 weblogic 电子商务平台上的服务和应用获得一个高性能、高可伸缩的解决方案的提供。
负载均衡器的形式多种多样,作为启动器,它以各种形式和大小出现。一些厂商,如 Alteon 、 ArrowPoint ,将负载均衡器集成到交换设备中,置于服务器与 Internet 链接之间;而另外一些厂商,如 Coyote Point 、 F5 Networks 以及 HydraWeb ,则运用两块网络适配器将这一功能集成到 PC 中,其中一块连接到前端止于 Web 服务器的 Hub 上,另一块通过路由器或其他设备连接到 Internet 上。一旦负载均衡设备检测到所管理的每台服务器承载的负荷量,它会按照一定的算法来分配通信。
下面将以 BEA 星级合作伙伴, F5 公司的 BIG-IP 控制器为例,来介绍硬件负载均衡器配搭 weblogic 服务器实现集群功能的解决方案。
3. Weblogic集群
Weblogic 服务器集群将一组服务器集合在一起工作,来提供更灵活调配的、更稳定的应用平台。服务器集群对用户是透明的,对用户来说,服务器集群只是一个简单的 server 端,然而实际上,多台服务器一起协同工作来提供服务。通过部署 weblogic 服务器的集群功能,网站对于来自网络用户的请求具备了出色的可扩展性、更高请求处理容量和冗余能力。
对于一个集成的环境,客户端的会话状态必须被保存,以使得在出现故障时能够获得备份 session 状态。 Weblogic server 提供三种途径获得客户端会话状态: 数据库复制(通过 JDBC )、基于文件的复制和内存中的复制 。
使用基于 JDBC 或基于文件的持久机制分别将客户端的会话状态保存在数据库或者文件中。当一个客户端首次连接到集群中的某台服务器时,客户端与该服务器的连接建立,同时该服务器将会话状态完整地保存在离线存储器中。随后的客户端的请求将被持续地发送给同一台 server ,这样就保证了会话状态的更新在存储机制中的保存。如果这台服务器发生故障,那么该客户端可以连接到集群中的任何一台服务器。新的服务器通过读取储存在文件系统或者是数据库中的会话状态来恢复与客户端的会话。
内存中的复制机制同样也用于保存客户端会话数据,但是它使用内存而不是其他永久存储机制。在客户端初次连接到集群中的某台服务器时,客户端与该服务器的连接建立,同时该服务器指定另外一台集群中的服务器作为辅助服务器来存储会话数据的复本。随后的客户端的请求将被持续地发送给同一台 server ,从而确保了在任何给定时间集群中都存有该客户机会话数据的两份拷贝。
当与该客户端建立连接的服务器发生故障时,客户端可以连接到集群中另一台服务器。新的服务器将通过查找保存在 Weblogic 服务器 cookie 上的信息,对保存了客户端会话状态的复本的服务器进行定位,并且复制会话状态。通过这种容错处理的方式,客户端可以透明地故障切换到另一台服务器,无需使用持续性存储器便可长期保存会话数据。
4. BIG IP实现WEBLOGIC负载均衡
由于同一集群中的多个服务器能够服务于一组特定的客户端请求,所以必须通过某些机制,将对 " 虚拟服务器 " 的客户端请求路由到集群中某台真正的服务器。 通过 将新的客户端请求智能地分配给可用资源,来达到提高服务器集群的处理能力的目的。这种路由请求机制必须保证 :
均衡集群中可用服务器上的负载;
客户端发起的会话必须持续使用在初次访问时与之建立了连接的 Weblogic Server :对于需要多个 HTTP 操作的事务(也可能是多个 TCP 连接),一旦和特定的服务器集群成员之间建立了客户会话,后续操作必须被定向到同一个成员,直到会话结束。这将减少开销,并且能够为每个连续的操作从另一台服务器上获取会话状态。因此改善了用户的响应时间并提高了集群总的利用率;
必须保持 Weblogic Server 端 cookie 内保存数据的完整性:会话持久性是通过检查会话 cookie 来提供的, cookie 内保存了 HTTP 响应的主服务器会话信息和备份服务器的信息,这样它就可以在故障发生时被集群检测并挑选集群内另一台服务器使用以进行容错处理。
以上三点是使用BIG-IP 控制器和Weblogic Server集群的联合解决方案所需要遵循的目标。下面我们看看F5是如何具体实现这些目标的。
4.1 对Weblogic集群提供负载均衡
当部署 Weblogic 集群时,首先要考虑的,应该是使用一个本地的管理网络交通的产品对于所有 Weblogic Server 实体所接收到的新的请求进行负载均衡。
F5 的 BIG-IP 控制器使得可以很简单而且高伸缩性地配置 Weblogic 服务器集群。 BIG-IP 支持多种负载均衡模式,包括轮询 (Round Robin) 、服务器几率 (Server Ratio) 、服务器能力 (Server Capacity) ,等几种模式。 BIG-IP 对 Weblogic 服务器的性能和可用性进行监控,并将客户端请求发送到集群中当前状态最为可用的服务器。 BIG-IP 通过对一系列的设备故障的监测,来确认任务所需的最主要的资源相应正常的。
4.2 通过BIG-IP对Weblogic服务器的用户保持访问持续性
一旦用户采用内存复制技术来部署 BEA Weblogic Server 集群时, Weblogic 服务器就启动 Cookie 机制来跟踪服务器实例,并保存客户端会话的主数据(在第一台执行请求的 server 上)和备份数据(在备份 server 上)。当在 Weblogic Server 前端部署负载均衡机制时,用户必须确认所采用的方案可以提供用户访问持续性,而不是会阻碍用来保存客户端会话数据的 Weblogic cookie 技术的实施。
而如果采用 BIG-IP ,可以配置 BIG-IP 使其在用户的网页浏览器内插入一个单独的 cookie 用来跟踪客户端会话,服务器的 cookie 则保存容错时所需的内存复制信息。在进行普通的操作时,内嵌的 BIG-IP cookie 将保证客户端可以对主服务器(保存了会话状态)进行持续访问,在此阶段 Weblogic Server 的 cookie 未被进程使用;然而当故障发生时,服务器的 cookie 被激活,提供备份会话数据所在的位置,使得客户端的请求可以被集群内的任一其他的服务器进行容错处理。(见下图)
客户端访问 Weblogic 集群; BIG-IP 察觉到请求中没有 cookie 存在,于是选择任一台 Weblogic 服务器对客户端请求进行响应。
用户信息保存在服务器端,同时服务器在 HTTP 回复中写入 cookie 。
HTTP 回复被发送回客户端; BIG-IP 写入第二个 cookie ,包含信息为该客户端建立连接的服务器端。
当下一次请求到达时, BIG-IP 读入自己的 cookie 信息,并将用户请求导向同一台服务器。
在BIG-IP上配置在线cookie持续性
在导航栏中点击 Pools ,打开 Pools 窗口;
在 Pools 列表中,点击你想要建立插入方式的 pool ;
点击“持久”标签( Persistence ),打开“持久”窗口;
点击“ Active HTTP Cookie ”按钮;
从方法列表( Method list )中选择“插入”方式( insert )。这样就保证了 BIG-IP 会在客户端浏览器中插入一个单独的 cookie ,而不会修改用来进行容错处理的 Weblogic Server cookie ;
输入 timeout 值,该值将决定 cookie 在客户端多久过期;
点击 Apply 按钮。
4.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 协议实现的第七层协议的功能进行负载均衡,比如使用解码包里的信息来进行智能化负载均衡。 SSL 信息流被解码,以明文方式传给目的地。
如上图,当使用 BIG-IP 的 SSL 加速器时,所有非 SSL 数据流可以未受任何改变地通过加速器;但是当由 SSL 加密过的数据流经过 SSL 加速器时,进入的 SSL 数据流被解密并干净地传给服务器,而外流的 SSL 数据流被加密并传向客户。这样服务器只需简单地处理 SSL 请求,原本消耗众多计算资源的 HTTP/SSL 现在被专用的 SSL 加速设备负责处理。使用了 SSL 加速器之后,系统每秒处理的安全连接数可由原来几十个增长到数百个。
对于那些有较高安全级别的请求, BIG-IP v4.1 提供了重编码的功能,在后台对信息流重新编码,然后发送给 Weblogic 服务器。这种方案保证了对安全敏感度很高的网站在因特网的任一个环节都不会暴露明文信息,同时依然可以进行负载均衡。
需要指出的是, 额外 SSL 容量可以通过软件密钥增加到 BIG-IP 上,这使客户能够仅在其需要时购买 SSL 容量。
4.4 使用BIG-IP提高网络和Weblogic服务器的处理能力
F5 和 BEA 共同提供了一套解决方案,以使得用户对基础设施的投资效益最大化。在 Oneconnect? 和 HTTP 1.1 之前,一个客户端和服务器端的简单连接就可能由好几个 TCP 会话组成,这些额外的连接的产生和销毁都会导致不必要的损耗。
BIG-IP 的 Oneconnect? 以最小的 TCP 链接将请求发送到服务器,减低了网络、服务器和客户端之间的冗余,减轻了 HTTP 交通阻塞。这样, Weblogic 服务器可以发挥更大的性能,带宽的损耗也可以减低 20% 。
5. 该解决方案的优势
流量控制-- 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 进行通信,从而可在进行内容更新的同时启动或关闭服务器。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者