引自:http://www.oraclefmw.com/wls92/cluster/features.html
群集中的 WebLogic Server 通信
群集中的 WebLogic Server 实例使用两种基本网络技术互相通信:
•IP 多播,服务器实例使用该技术来广播服务和心跳(表明持续的可用性)的可用性。
•IP 套接口,这是群集服务器实例之间进行端到端通信的管道。
WebLogic Server 使用 IP 多播和套接口通信的方式会影响群集的配置方式。
使用 IP 多播的一对多通信
IP 多播是一种简单的广播技术,使多个应用程序能够“订阅”某个给定的 IP 地址和端口号,并监听消息。多播地址是一个介于 224.0.0.0 到 239.255.255.255 之间的 IP 地址。
注意: WebLogic Server 使用的默认多播值为 239.192.0.0。不应使用 x.0.0.1 范围内的多播地址。
IP 多播向应用程序广播消息,但是不能保证这些消息真正被接收到。如果应用程序的本地多播缓冲区已满,则新的多播消息则无法写入该缓冲区,当消息被“丢弃”时,也不会通知该应用程序。因为此限制,所以 WebLogic Server 实例允许存在偶尔丢失通过 IP 多播广播的消息的可能性。
WebLogic Server 对于群集中服务器实例之间的所有一对多通信均使用 IP 多播。此类通信包括:
■群集范围的 JNDI 更新 - 群集中的每个 WebLogic Server 实例均使用多播来公告本地部署或本地删除的群集对象的可用性。群集中的每个服务器实例都监视这些公告,并更新其本地 JNDI 树以反映群集对象的当前部署。有关详细信息,请参阅群集范围的 JNDI 命名服务。
■群集心跳 - 群集中的每个 WebLogic Server 实例均使用多播来广播通告其可用性的规律的“心跳”信号。群集中的服务器实例通过监视心跳信号来确定某个服务器实例的失效时间。(群集服务器实例也会监视 IP 套接口,以此作为确定服务器实例失败时间的一种更为即时的方法。)
多播和群集配置
因为多播通信控制着与检测故障和维护群集范围的 JNDI 树(如群集范围的 JNDI 命名服务中所述)相关的重要功能,所以确保群集配置和网络拓扑结构不干扰多播通信是极为重要的。以下部分提供了有关在群集中避免多播通信出现问题的指南。
如果群集跨越 WAN 中的多个子网
在很多部署中,群集服务器实例都位于一个子网中,从而确保了多播消息的可靠传输。但是,您可能希望将 WebLogic Server 群集分布在广域网(Wide Area Network,简称 WAN)中的多个子网中来增加冗余性,或者在一个更大的地理区域内分布群集服务器实例。
如果选择将群集分布在 WAN 上(或跨多个子网),则请对网络拓扑结构进行计划和配置,以确保多播消息可以可靠传输到群集中的所有服务器实例。具体来说,您的网络必须满足下列要求:
■完整支持 IP 多播数据包传播。换句话说,必须配置所有路由器和其他隧道技术以便将多播消息传播到群集服务器实例。
■网络滞后足够低,可以确保大多数多播消息均可在 200 到 300 毫秒内到达其最终目标。
■群集的多播生存时间(Time-To-Live,简称 TTL)值足够高,可以确保在多播数据包到达其最终目标之前路由器不会放弃这些数据包。有关设置多播 TTL 参数的说明,请参阅配置多播生存时间 (TTL)。
注意: 除了上述多播要求之外,在 WAN 上分布 WebLogic Server 群集可能还需要一些网络工具。例如,您可能想配置负载平衡硬件来确保客户端请求以最高效的方式指向服务器实例(以避免不必要的网络跃点)。
防火墙可能会中断多播通信
尽管可以使多播流量以隧道方式通过防火墙,但是对于 WebLogic Server 群集不推荐此方法。请将每个 WebLogic Server 群集视为向 Web 应用程序的客户端提供一个或多个独特服务的逻辑单元。不要在不同的安全区域之间拆分此逻辑单元。另外,可能延迟或中断 IP 流量的任何技术都可能会因为心跳丢失而生成错误故障,从而干扰 WebLogic Server 群集的运行。
不要与其他应用程序共享群集多播地址
尽管多个 WebLogic Server 群集可以共享一个 IP 多播地址和端口,但是其他应用程序不应广播或订阅您的一个或多个群集使用的多播地址和端口。就是说,如果承载群集的一台或多台计算机同时承载着使用多播通信的其他应用程序,则请确保这些应用程序使用的多播地址和端口与该群集不同。
与其他应用程序共享群集多播地址会强制群集服务器实例处理不必要的消息,从而导致不必要的开销。共享多播地址还会使得 IP 多播缓冲区超载,并延迟 WebLogic Server 心跳信号的传输。这样的延迟会导致将 WebLogic Server 实例标记为失效,这仅仅是因为未及时收到其心跳信号。
因为上述原因,所以要分配一个专门的多播地址用于 WebLogic Server 群集,并确保该地址可以支持使用该地址的所有群集的广播流量。
如果发生多播风暴
如果群集中的服务器实例未及时处理传入的消息,则可能会导致网络流量增加,这些流量包括 NAK 消息和心跳重新传输。网络上重复传输多播数据包的现象称为“多播风暴”,它可能会加大网络和相连站的负担,从而可能导致端站挂起或失败。增大多播缓冲区的大小可能会提高公告传输和接收的速率,防止发生多播风暴。请参阅配置多播缓冲区大小。
分享到:
相关推荐
2. **多应用打包**:如果多个应用需要部署在同一服务器或集群上,可以将它们打包在一个`.ear`文件中,或者分别打包,然后逐一部署。 3. **部署顺序**:有些应用可能依赖于其他应用的服务,部署时需遵循正确的顺序,...
### WebLogic部署应用程序详解 #### 引言 在企业级应用开发中,Oracle WebLogic Server作为一款高性能的Java EE中间件服务器,被广泛应用于各种复杂的企业应用环境中。它提供了多种方式来部署Java应用程序,包括...
在企业级Java应用服务器领域,WebLogic Server是一个广泛使用的平台,它提供了丰富的功能来管理和部署企业级应用。本文将深入探讨“weblogic控制台与应用端口分开”以及“节点服务器配置”这两个重要知识点。 首先...
WebLogic Server应用通常由多个模块组成,包括Java Servlets、JavaServer Pages (JSP)、JavaBeans、EJB(Enterprise JavaBeans)以及Web服务等。这些组件协同工作,提供企业级的功能和服务。理解这些组件的角色和...
### WebLogic 集群配置详解 #### 一、WebLogic 集群...综上所述,通过上述步骤,我们可以成功地在 WebLogic Portal 9.2 上配置一个多服务器集群。这种集群不仅能够提高系统的稳定性和性能,还能简化管理和维护工作。
《精通BEA WebLogic Server——构建与部署J2EE应用的最佳策略》这本书是针对企业级Java开发者和系统管理员的一份重要指南,它深入探讨了如何有效地利用BEA WebLogic Server来构建、部署以及管理J2EE(Java 2 ...
一般情况下,我们要求部署的服务端口和程序的服务端口分开来控制
WebLogic部署应用程序是Java企业级应用开发中的关键环节,它涉及到服务器配置、应用程序打包和发布等多个步骤。WebLogic Server,由Oracle公司开发,是一款广泛使用的Java EE应用服务器,提供了全面的中间件服务来...
在本文中,我们将深入探讨如何在Weblogic 11g中部署Web应用程序,包括手动部署和通过集成MyEclipse进行部署的详细步骤。 ### 手动部署Web应用程序 1. **创建Web工程**: 在开发环境中,如Eclipse或MyEclipse,...
WebLogic Server是Oracle公司提供的一个应用服务器,主要用于构建和部署企业级应用程序。它支持Java EE标准,并提供了高性能、高可用性和可伸缩性的特性。在开发或部署Java Web应用程序时,WebLogic Server经常被...
在企业级IT环境中,WebLogic Server是Oracle公司提供的一个强大且广泛使用的Java EE应用程序服务器,它为开发和部署企业级应用程序提供了稳定、高效的基础。在"企业级weblogic应用第三章"中,我们将会深入探讨...
4. **导出私钥和证书**:`openssl pkcs12`命令可以将私钥和证书打包成.PKCS12文件,方便导入到WebLogic或其他服务器。 四、安全注意事项 1. **避免使用弱加密套件**:定期更新WebLogic服务器的加密套件,确保使用...
总的来说,这个示例展示了如何通过WebLogic集成多个Tomcat实例,实现自动分配服务和80端口访问,从而提升应用的可扩展性和用户体验。这样的架构不仅提供了高可用性,也允许灵活地调整服务规模,以应对不断变化的业务...
WebLogic Server是Oracle公司出品的一款企业级Java应用服务器,它提供了用于开发、部署和管理Java应用程序的全面平台。本主题将深入探讨WebLogic的管理和应用,帮助你掌握这个强大工具的关键概念和技术。 **1. ...