GlassFish集群架构概览

本文将对GlassFishV2的集群架构作一个概览性介绍,主要是介绍集群架构中的组成部分,以后还会对集群的各部分进行更深入的探讨。 以下是GlasssFish集群架构图: 这个架构主要由以下一些组件组成: * Domain Administrator Server(DAS):域管理服务器。域(Domain)是GlassFish的一个核心概念,我们可以为每个GlassFish服务器建立多个域,而域里面又可以建立多个服务实例,但是每个域里面的服务实例仅仅是为域而服务的,而不能跨域进行服务。 DAS是GlassFish的一个核心组件,在集群的环境中,每个 GlassFish服务器可能会存在多个服务实例(Server Instance),DAS本身也是一个符合Java EE5规范的服务实例,主要是为GlassFish提供核心管理的功能。所有对域的管理操作,例如CLI,GUI,Netbeans IDE以及其他工具的管理请求,都是由DAS分发到各个服务器实例去的,而不是直接连接到各个服务器实例。 对于一些需要多个实例进行操作的管理请求,DAS会将操作请求广播到各个实例上去,所以,当DAS停止运行后,各种对域的管理操作都不能进行,当然,即使 DAS已经停止了运行,域的集群和服务器实例仍然可以正常工作,只要域还在正常运行。 * Administrative Client Applications (CLI,JSR77,AMX):管理客户端包括asadmin命令行以及以各种IDE的管理模块插件(例如Netbeans IDE的管理工具)。这些管理工具都是直接与DAS进行通信的,无论是否需要通过防火墙。这些客户端是通过JMX连接器来访问DAS的。如果需要跨越防火墙,连接器实现使用的协议一般是HTTP或者HTTPS。GlassFish中的管理架构是基于JMX技术来构建的。无论是命令行工具还是管理控制台,都是通过服务器端的MBean来完成管理功能或相应的服务。另外,也可以使用AMX对GlassFish进行管理。AMX是对JMX的一个补充,其主要目的是使MBean的应用更加方便和面向对象。 * 基于浏览器的GUI管理工具。GlassFish提供了一个非常方便的基于浏览器的GUI管理工具,这个管理工具是部署在服务器实例当中的。 * Web客户端及Web服务客户端:Web 客户端及Web服务客户端主要是在浏览器里通过HTTP协议或者Web服务的调用来与GlassFish服务实例进行通信的。在集群环境中,所有的web 客户端的请求都是经过负载均衡器(Load Balancer)来进行请求分发或者故障处理(Failover)的。 * 富客户端(RMI/IIOP)应用:富客户端程序通过服务器在客户端生成的客户端存根(stub)用RMI或IIOP协议域服务实体进行远程通信。与Web客户端一样,富客户端程序也能通过负载均衡器来进行负载均衡及故障处理(Failover)。 * 负载均衡器(Load Balancers):负载均衡器负责将请求定向到负载量最小的服务实例,检测到失效的节点,适当地重试失效的操作,当会话在某个服务实例上建立后与其维护紧密的联系。当然,除了软件负载均衡器外,还有很多其他的负载均衡解决方案。 * 节点代理(Node Agent,NA):节点需要一个轻量级的代理来对服务器实例进行远程生命周期管理。NA主要负责实例的启动,停止以及创建,同时,也承担监视者以及重启失效进程的责任。和 DAS一样,NA也只是进行一些管理的操作,而不需要保证其高可用性。然而,NA是一个操作系统的系统服务,当本地操作系统启动的时候,它就会一直处于运行的状态。 * 服务器实例(Server Instance,SI):一个实例指的是掌管Java EE 5应用服务器的Java虚拟机。实例间的通信以及和DAS之间的通信是依赖于远程MBean方法的调用的(JSR160)。标准的JSR 160 RMI连接器用于所有实例与DAS的通信。这意味着DAS需要管理两种JMX连接器——用于管理客户端与DAS通信的HTTP连接器以及标准的RMI管理器。 * 管理接口:DAS将JMX MBean管理工具的一个子集的接口暴露给用户,这些接口可以用于与DAS通过RMI连接器进行通信。 * 中央存储库(Central Repository):有两个主要的存储库,用于存储实例在域里面共享的各种信息。其中配置存储库里面存储的是域里面所有的配置信息,而应用程序存储库存储的是在域里面部署的 Java EE应用程序。中央存储库只能够被DAS用MBean来维护并持久化到文件系统中。中央存储库被放置在文件系统的一个独立的目录下以便对其进行备份和恢复。 * 本地存储库缓存:为了减少DAS高可用性的限制(因为DAS扮演的是一个中央管理者的角色,如果要保证其高可用性的话,代价非常大)以及加速启动的速度,每一个服务器实例在其本地文件系统维护中央存储库的一个缓存。这个缓存在每次实例重启的时候都会与中央存储库进行一次同步。这个缓存是中央存储库的一个子集,用于缓存与该服务器实例相关的一些配置信息或Java EE应用。 * JMX运行时环境:JMX架构提供了用于管理和配置服务器的工具。JMX运行时环境包括代理服务(MBean服务器,监视服务等),MBean应用以及远程连接器等。所有的服务器实例,节点代理以及DAS本身都有JMX运行时环境。 另外还有一些重要的概念需要了解的: * 节点:在这里,一个节点指的是一个独立的主机。注意到,一个很大的机器可能会分割为多个独立的节点。 * 管理域(Administration Domain):一个域为一个或多个服务器实例提供通用的认证及管理功能。一个管理域内包含多种可管理的资源,包括实例、集群及它们各自资源。需要注意的是,一个可管理的资源,例如一个实例,只能专属于一个域。 * 应用程序(Application): Java EE应用包括ear,war及ejb-jar文件部署到域中并被域所管理。部署
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值