通过高级的集群功能,基于BEA WebLogic
Server的电子商务应用可以跨越多台服务器。(注意:WebLogic Server支持多种类型的集群,其中仅有一个和本文相关——它叫做Web
Clustering.在Web Clustering中,强调了HTTP集群或Web应用的表示层。这就是这儿提到的。)
复制应用的组件及其状态,以及客户端会话状态信息以提高可用性。如果服务器中间会话(mid-session)失败,可以在另一台服务器上恢复客户端会
话,不会丢失会话数据。 WebLogic Server集群使得该功能对视集群为单个"虚拟服务器"的客户端透明。
伴随着软件基础结构逐渐演变为包含了对Web内容的发送进行优化的专业应用服务
器,网络基础结构也演变?quot;内容识别(content aware )".Cisco
System是内容交换开发的先驱,所谓内容交换是指用来优化基于Web的应用的发送的一类网络设备。这些高性能的网络设备理解基于Web的事务的本质,
并知道如何在规定时间内及时将它们路由到性能最好的服务器上。用它们来提高基于Web的应用的可伸缩性、性能、可用性和安全。本文介绍了如何使用
Cisco CSS 11000 Series Content Services Switches ("Cisco内容交换机")最大化BEA
WebLogic集群的性能。
起作用的WebLogic集群
可能需要多个HTTP操作才能完成单个客户端事务。基于Web的股票交易门户的表
示接口就是一个这样的简单例子。客户端可能通过多个步骤来执行交易(获得报价、进行调查、下订单、接收确认等等)。应用程序跟踪该事务的"状态"和它后面
的每个阶段。为了避免失败,可以将该会话状态复制到另一台服务器上。如果主服务器出现故障,该会话状态被重新初始化到新的服务器上(托管状态副本的服务器
或恢复状态的第三个服务器)。WebLogic支持三类不同的复制和恢复会话状态的方法:数据库复制(通过JDBC)、基于文件的复制和内存中的复制 .
文件和数据库复制很相似。集群中的每台服务器保持到共享文件服务器或数据库服务器
的连接。创建或改变状态信息时将它写入文件或数据库记录中。当集群中的服务器出现故障时,后续客户端请求被路由到集群中其他可用成员上。新服务器读取会话
ID(在初始化会话时建立,并存储在cookie中或写入到请求的URL中),并且从数据库或文件系统中取得相关的状态。现在新服务器能够继续处理客户端
的事务。
内存中的复制将状态信息从主服务器发送到内存中指定的备份服务器上。如果主服务器
出现故障,客户端将被路由到新的服务器上。该新的服务器具有状态副本(在这种情况下,它指定新的服务器作为备份,创建会话状态的备份副本,并担当主服务器
的角色)或从备份中(在这种情况下,它担当主服务器的角色,从旧的备份中清除会话状态,建立新的备份服务器,并在备份上创建新的状态副本)获取状态。类似
于会话 ID,备份服务器的ID也被写入cookie或URL,从而允许新的服务器从备份中恢复会话状态。新的服务器能够继续处理客户端事务。
请求路由
由于同一集群中的多个服务器能够服务于一组特定的客户端请求,所以必须通过某些机制,将对"虚拟服务器"的客户端请求路由 到集群中某台真正的服务器。这种请求路由机制的第一个也是最简单的目标如下所述:
1、均衡集群中可用服务器上的负载
对于需要多个HTTP操作的事务(也可能是多个TCP连接),一旦和特定的服务器
集群成员之间建立了客户会话,后续操作必须被定向到同一个成员,直到会话结束。这将减少开销,并且能够为每个连续的操作从另一台服务器上获取会话状态。因
此改善了用户的响应时间并提高了集群总的利用率。因此WebLogic集群请求路由的第二个目标是:
2、保持客户端和协助执行复杂事务逻辑的集群成员之间的"持久会话"
公共域DNS服务器(如BIND)中可用的基于DNS的简单负载均衡允许操作者配
置多个具有特定域名(例如,www.mystore.com)的主机地址。访 问该站点的客户端被按"round
robin"(轮循)的方式解析成每个配置的地址。客户端将缓存通过域名本身返回的名字到地址的映射,主要是为了DNS服务器中
time-to-live(生存时间)配置。(注意:虽然这是DNS客户端的指定性能,实际的性能根据操作系统和浏览器有所变化。)对同一主机名的后续请
求将转向同一台服务器(利用缓存映射)——因此执行会话连续性的一个原始类型。然而,基于DNS方案的一个主要的缺点是它们不能在服务器出现故障时路由。
一旦客户端"绑定到"服务器,该绑定将一直保持下去,直到缓存的名字到地址的映射的生存期过期。所以,客户端将一直尝试连接主机,即使该服务器已经出现故
障或者不再服务了。很明显,健壮的本地请求路由机制中需要使用的不仅仅是简单的 round-robin
DNS.(注意:当基于DNS的技术中结合了更加强壮的本地请求路由机制后,该技术对于灾难恢复和多个物理隔离的地址之间的均衡负载非常有用。)因此,我
们上面所列的请求路由目标应该再扩展。
3、快速检测并路由到服务器及处理失败
基于Proxy
Web服务器的请求路由采用的方案是:在前端终止带有其他接受传入客户端请求并将它们定向到适合的服务器的集群。一个典型的 例子是,BEA
Weblogic
Server充任第三方Web服务的代理。加入集群协议后,代理能够快速检测服务器的故障并路由它们。会话持久性是通过检查会话cookie来提供的。由
于它是集群的正式成员,代理能够理解会话cookie的格式以及会话和服务器之间的关系。然而,由于它们是通用的应用服务器,这些代理没有针对请求路由进
行优化,因此性能比专业的负载均衡应用要差。
负载均衡应用是通用PC,它具有用于负载均衡应用的软件。这些通用的体系结构和第
一代路由器很相像,使用单个、中央CPU进行所有负载 均衡决策和分组转发。通过使用off-the-shelf
PC主板(如SSL加速卡)并且编写驱动程序将它们和系统其他部分集成起来,可以添加其他的功能。通过把注意力集中在特定的任务上,这些应用能够比基于它
们的代理服务器的对应部分提供更好的性能、冗余和特性。然而,应用的硬件体系结构最终成为集群性能和可伸缩性的瓶颈
.对于企业级应用,性能是请求路由必须考虑的一个目标。该目标如下所述。
4、与预期客户端请求的容量和数据传输速率相一致
和通用处理体系结构成为限制第一代路由器的因素一样,通用PC体系结构成为限制请
求路由的因素。意识到这一点后,Cisco
System首先开始开发现在被称为"内容交换"的技术。与内容交换机相关的核心知识产权为一个交换体系结构,它将请求路由的分组转发功能的处理(如网络
地址转换[NAT]、TTL递减、MAC地址替换等等)分割成请求路由的控制功能的处理(如服务器选择、会话建立和健康检查等)。该函数的基本分割允许
Cisco内容交换机提供比基于PC的负载均衡设备更加好的特征和功能及性能。
Cisco内容交换机提供服务器机群的高可用性
从逻辑角度来说,Cisco内容交换机部署在WebLogic集群的前端,如图1
所示。客户端对集群的请求被定向到一个虚拟IP地址(VIP),
它代表了到外部世界的集群。Cisco内容交换机接收到来自于外部世界的连接和HTTP请求,并根据已配置好的策略将它们路由到合适的集群成员上。这些策
略考虑了前面讨论的故障转移(failover)和持久机制。
Cisco 内容交换机为维护高可用性的WebLogic集群提供了一组完整的特性,包括交换机冗余、会话状态故障转移和高级健康检查。
交换机冗余
Cisco内容交换机通常部署在冗余对中。如果主交换机出现故障,副交换机将会接
管它的任务。根据会话状态冗余的配置,不用破坏客户端到服务器的连接就能进行故障转移。某些配置可能将主交换机和副交换机同时用作某些服务器或内容类型的
活动交换机和备份交换机——该配置叫做"Active-Active"冗余。
会话状态冗余
对于一些应用,当Cisco内容交换机出现故障转移时,客户端到服务器的现有连接
一定不能被破坏。对于这类应用,可以配置内容交换机同时在主副交换机上保存会话状态信息。万一发生故障,冗余交换机将在底层网络重新会聚的同时,转发分
组。其中这些分组与客户端和服务器之间的现有连接有关。
高级健康检查
Cisco内容交换机使用主动和被动技术来监视服务器健康。通过周期性检测服务
器,内容交换机将快速检测出服务器故障并能将连接快速重新路由到可用的服务器上。高级健康检查支持大量的健康检查性能,包括认证Web服务器、SSL服务
器、应用服务器、数据库、FTP服务器、流媒体服务器及其他。
Cookie交换技术提供了灵活的会话持久性选项
如前面所讨论的,出于性能的原因,一旦在集群中的服务器上做出了初始选项,在完成
事务之前必须保持同一客户端到同一服务器的连接。这叫做"会话持久性".内容交换机让会话cookie完好无损地从服务器发送到客户端并从客户端发送到服
务器,这一点非常关键。 Cisco内容交换机也支持两类完全不同的方法来获得WebLogic集群的会话状态持久性。
主动Cookie插入
我们使用该方法配置内容交换机,以便在检测到新的会话时为每一台服务器插入唯一的
cookie.然后客户端将该cookie发送回服务器,并且 内容交换机使用它来保持路由到同一台服务器的会话。
Cookie匹配在该操作模式下,内容交换机被配置来在cookie中查找特定的字符串,该cookie指示最早设置它的服务器。这可以是会话
cookie中为此目的唯一标识的字符串或WebLogic程序员设置的不同的cookie.虽然,从编程的角度来说,这种方法更加复杂,但是它使得
Web应用设计者能够更加灵活地控制应用的行为。(注意:Cookie匹配可用于多种场合,包括动态负载分离和第三方路由。这里不具体讨论这些技巧)
Cisco内容交换机提高了站点安全性
Cisco内容交换机能够通过四种不同的方法保护WebLogic集群
访问控制列表
通过在内容交换机上构建访问控制列表,操作者可以控制谁能访问集群成员的真实地址及谁能访问交换机本身。
网络地址转换(NAT)
Cisco内容交换机执行虚拟IP地址(代表了集群到外部世界)到集群成员的真实IP地址的NAT(网络地址转换)。这允许服务器集群成员利用 专用IP地址空间进行编号。更重要的是,它隐藏了集群配置的内部细节。
拒绝服务(DoS)保护
由于Cisco内容交换机同时用到了TCP和HTTP,所以它们是在理想状态下检测并终止基于TCP和HTTP的拒绝服务攻击——即在攻击影响服务器之前 .
BEA WebLogic服务器和Cisco内容交换机的部署
防火墙负载均衡
如果应用程序产生了足够的流量来保证额外的防火墙,可以使用Cisco内容交换机均衡多个防火墙之间的负载。
SSL加速改善了性能并启用了持久性
在WebLogic服务器上运行SSL非常消耗服务器资源。Cisco
SSL加速技术(在Cisco CSS 11500 内容交换机和Catalyst
6500交换机中可用)能够卸去SSL处理,从而让服务器资源能够专门用域增值的WebLogic函数。另外,由于Cisco内容交换机使用的持久性消息
存放在HTTP头中,当它装载在SSL加密会话内部时就再也看不到了。Cisco
SSL加速技术在应用内容交换决策之前终止这些会话,这使得安全站点能够使用前面讨论的所有持久性选项。高可用性和性能选项除了原始的交换性
能,Cisco内容交换机还可用来伸缩WebLogic服务器性能和客户端到服务器连接的性能。
服务器机群分割
Cisco内容交换机能够将单个Web应用的组件分割到不同的集群成员上。例如,
下面的两个URL http://www.mycompany.com/quotes/getquote.jsp
和http://www.mycompany.com/trades/order.jsp
可以位于两台不同的服务器上,虽然它们具有相同的URL.这使得应用开发人员不需要修改多少代码就能够将应用程序应用到多台服务器上。而且,它通过将同一
页面的请求保持在同一服务器上,最大化服务器的缓存一致性检查(从而最大化了性能)。另外,可以使用Cisco内容交换机将对可缓存内容(如图像文件)的
请求推到一组缓存上,该缓存比应用服务器本身具有更 高的效率。
HTTP1.1连接的重新映射
使用HTTP1.1时,客户端可能在同一TCP连接上请求多个URL.通过减少
TCP连接维护的开销,可以使得客户端和服务器能够更加有效地运行。当内容被分割并/或缓存到多个服务器上(如前一节所描述)时,必须能够通过相同的
HTTP1.1连接将不同内容段的多个HTTP
GET发送到不同的服务器上。客户端HTTP1.1连接必须从一台服务器"重新映射"到另一台服务器。Cisco内容交换机执行该功能以最大化连接效率。
小结
BEA
WebLogic服务器包含高级的集群功能,以便根据情况伸缩应用。Cisco内容交换机通过理解基于Web的事务的本质,并且及时地将它们路由到最适合
的服务器,最大化了BEA WebLogic服务器集群的性能、可用性和安全性。该组合解决方案带来了最大的终端用户体验。
分享到:
相关推荐
总之,Weblogic 12c的集群配置是一个涉及多个层面的过程,需要考虑安全性、性能、高可用性和容错性等多个因素。通过合理的配置,可以确保企业应用在复杂环境中稳定运行,提供高效、可靠的业务服务。
总之,通过Nginx实现Tomcat和WebLogic集群的负载均衡,不仅可以提高系统的可用性和响应速度,还能有效应对高并发访问。结合合理的故障处理机制和性能调优策略,可以构建出稳定且高效的Web服务架构。
在企业级应用环境中,为了提高系统的可用性和负载均衡能力,经常需要部署WebLogic集群。WebLogic Server是Oracle公司提供的一款基于Java EE标准的应用服务器,广泛应用于构建高可用性、高性能的企业级应用系统。本文...
WebLogic应用集群部署和性能调优是企业级Java EE应用程序的关键环节,确保系统的高可用性和高效运行。WebLogic Server是Oracle公司的一款中间件产品,它提供了集群功能来提高应用程序的可伸缩性和可靠性。 首先,要...
Oracle WebLogic Server是一种企业级的应用服务器,它提供了丰富的功能,包括服务集成、集群、高可用性和负载均衡等。针对WebLogic Server进行高级性能调优是一个重要课题,其目标是确保应用服务器能够高效、稳定地...
- **集群配置**:对于集群环境,调整集群通信参数,如心跳间隔、故障转移策略等,确保集群的高可用性和负载均衡。 ### WLS的Java EE相关调整 针对WebLogic Server上的Java EE应用,可以通过以下方式进行调优: - ...
2. **集群配置**:通过创建集群,可以分散负载,提高可用性和响应速度。配置负载均衡策略,例如基于请求的权重分配或轮询。 3. **缓存管理**:利用 WebLogic 内置的缓存机制,比如 JMS 队列和主题,减少数据库访问...
- **集群(Cluster)**:一组协同工作的服务器,用于提高可用性和性能。 ##### 3.3 WLS 内部结构 - **容器**:WebLogic 为每种组件类型(如 Web 组件和 EJB)提供容器,容器负责管理组件的生命周期和服务。 - **...
3. **集群与负载均衡**:通过集群提高可用性和性能,合理分配负载。 4. **缓存策略**:利用缓存技术,如Ehcache或WebLogic内置缓存,减少数据库访问。 5. **日志与诊断**:定期清理无用日志,启用诊断收集,帮助定位...
2. **集群配置**:WebLogic支持集群化部署,以提高可用性和可扩展性。集群中的各个服务器节点共享应用程序和资源,实现负载均衡。配置集群涉及定义集群成员、设置集群间通信参数等。 3. **数据源管理**:WebLogic...
WebLogic提供了许多关键特性,如JMS(Java Message Service)、EJB(Enterprise JavaBeans)、JDBC(Java Database Connectivity)和JTA(Java Transaction API),支持高可用性、可扩展性和安全性。 二、WebLogic...
9. **性能调优**: 为了最大化WebLogic的性能,你需要调整服务器配置,例如线程池大小、内存设置、JVM参数等。 10. **高可用性与灾难恢复**: 通过集群、故障转移、备份和恢复策略,WebLogic Server提供了高可用性和...
- 配置应用的高可用性和负载均衡设置。 #### 五、性能调优 **1. JVM 参数调整** - **堆内存**:根据应用需求调整初始和最大堆大小。 - **垃圾回收**:选择合适的垃圾回收器和参数。 **2. 连接池优化** - **连接...
WebLogic Server的集群架构设计可以确保高可用性和业务连续性。通过负载均衡和故障转移机制,即使在单个节点出现故障的情况下,也能保持应用的持续运行,从而避免了业务中断的风险。 ### 自我管理,降低成本 ...
- **RAC**(Real Application Clusters):通过集群技术提高数据库层的可用性和可扩展性。 #### 三、操作系统调优 操作系统的调优对于WebLogic性能有着至关重要的作用,可以通过以下几个方面来进行: - **内核...
3. 集群:WebLogic Server支持集群部署,可以在多个服务器之间实现负载均衡、故障转移和高可用性。 4. 数据源和JNDI:WebLogic提供了一种管理数据源的方式,允许应用程序通过JNDI查找和连接到数据库。 5. JMS和Web...
在实践中,理解这些配置细节对于保证Web应用程序的稳定性和性能至关重要。同时,对于大型企业级应用,还需要考虑负载均衡、故障转移、集群等高级配置。WebLogic 9.1虽然已是一个较旧的版本,但其核心概念和操作流程...
- **Linux**:稳定性和安全性更高,系统资源利用率更好,对于大规模并发和高性能需求的应用更有优势。 4. **WebLogic Server的安装与配置** - **安装**:包括下载安装包,根据操作系统选择合适的版本,执行安装...
- **集群(Cluster)**:一组逻辑上相关的服务器,用于实现高可用性和负载均衡。 - **数据源(Data Source)**:用于连接数据库的数据源配置。 - **安全设置**:包括用户、角色和权限的管理。 #### 三、域的创建与...
负载均衡是通过将来自客户端的请求分发到多个后端WebLogic实例来提升系统性能和可用性的技术。这通常涉及到配置Apache的HTTP服务器模块,如mod_proxy、mod_proxy_balancer等,以路由请求到不同的WebLogic服务器实例...