集群
集群,即大家通常所说的 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 服务器,如上图所示。
但是该方案也存在一些缺点:
管理成本增加;
负载平衡方案受到限制。