Weblogic教程

集群

集群,即大家通常所说的 Cluster,是在计算机企业级应用领域普遍被关注和采用的一种技术,有软件的,有硬件的,其核心思想是通过一组并行的实例,来实现实时的负载均衡和故障备份恢复。

什么是集群

WebLogic 集群就是一组相互协作的 WebLogic Server 实例。将 WebLogic Server 集群在一起,有两个主要优点:

  • 可伸缩性:是为应用程序提供更多容量的能力,在这里,是通过添加更多的服务器,而无需进行重大的架构更改实现的;

  • 高可用性:确保当(集群中的)某个服务器出现故障时,有其它服务器接管其工作,从而不会对客户端造成影响。


主要功能

WebLogic 集群的主要功能是:

  • 应用程序故障转移:应用程序中正在执行任务的某个对象不可用时,另一个对象将接管并完成其工作;

  • 站点故障转移:一个站点的所有服务器和应用程序出现故障时,这些服务和应当某个服务器出现故障时,其上的固定服务可迁移到集群中的另一个服务器;

  • 负载平衡:多个服务器中均匀的分配任务和通信。


基本集群架构

基本集群架构将静态 HTTP、呈现逻辑、业务逻辑和对象组合到一个集群中:


基本集群架构的优缺点

基本集群架构有以下优点:

  • 易于管理;

  • 灵活的负载平衡;

  • 可靠的安全性。

基本集群架构的缺点:

  • 无法对 EJB 方法调用进行负载平衡;

  • 跨层平衡负载可能会出现不平衡。


多层集群架构

Web 层和提供服务的业务逻辑可分别放到两个集群中:

建议多层架构使用两个单独的 WebLogic Server 集群:一个提供静态 HTTP 内容和集群Servlet,另一提供集群 EJB。


何时使用多层集群架构

       建议对有以下要求的 Web 应用程序使用多层集群:

  • 需要对集群 EJB 的方法调用进行负载平衡;

  • 需要在提供 HTTP 内同和提供集群对象的服务器之间进行灵活的负载平衡;

  • 需要更高的可用性(减少单点故障数);

  • 更灵活的安全性规划


多层集群架构的优缺点

多层集群架构具有以下优点:

  • 负载平衡得到改进

  • 可对 EJB 方法进行负载平衡:通过分别在不同的集群上承载 Servlet 和 EJB,Servlet 中对 EJB 的方法调用可以在多个服务器间进行负载平衡;

  • 更高的可用性;通过使用更多 WebLogic Server 实例,多层架构的故障点要比基本集群故障点少;

  • 安全方案得到改进:将呈现层和对象层放到不同的集群上,可以使用只在 DMZ 中放置 Servlet/JSP 集群的防火墙策略。通过拒绝来自不可信客户端的直接访问,承载集群对象的服务器可以得到进一步的保护。

多层集群架构具有以下缺点:

  • 呈现层频繁调用业务逻辑时会造成瓶颈;

  • 许可证成本增加;

  • 增加了防火墙配置的复杂性。


代理服务器

代理服务器用于为集群提供负载平衡和故障转移,此外,此类服务器还具有以下特点:

  • 是客户端与集群交互的第一级;

  • 使集群看上去就像是一个服务器

代理服务器可以基于软件也可以基于硬件:
  基于软件的代理服务器可以是 WebLogic 提供的第三方 Web 服务器插件和 ProxyServlet 或第三方应用程序。
  基于硬件的代理服务器通常是物理负载平衡器(如 Local Director 或 F5 NetworksBig IP)。


基本集群代理架构

除静态内容由非集群 HTTP 服务器承载以外,其余都与基本集群架构类似:

带有外部 web 服务器的基本集群架构包含两个物理硬件和软件层。
该架构利用硬件和软件层来专门执行提供应用程序 web 层的任务,该物理 web 层由一台或多台相同配置的计算机组成,这些计算机承载下面一种应用程序组合:

  • 带有 HttpClusterServlet 的 WebLogic Server;

  • 带有 WebLogic Server Apache 插件的 Apache;

  • 带有 WebLogic Server NSAPI 代理插件的 Netscape Enterprise Server;

  • 带有 WebLogic Server Microsoft IIS 插件的 Microsoft Internet InformationServer。


多层集群代理架构

除静态内容由非集群 HTTP 服务器承载以外,其余都与多层集群架构类似:

使用独立的 Web 服务器和代理插件有以下优势:

  • 可以使用现有硬件

  • 如果已有向客户端提供静态 HTTP 内容的 web 应用程序架构,则可以轻松地将现有Web 服务器与一个或多个 WebLogic Server 集集群成,以提供动态 HTTP 和集群对象。

  • 可以使用熟悉的防火墙策略:在 Web 应用程序前端使用 Web 服务器代理,可以使用熟悉的防火墙策略来定义 DMZ。通常,当不允许直接连接到架构中的其余WebLogic Server 集群时,您还可以继续在 DMZ 中放置 Web 服务器,如上图所示。

但是该方案也存在一些缺点:

  • 管理成本增加;

  • 负载平衡方案受到限制。

关注微信获取最新动态