glassfish4新特性

来源:互联网 发布:云计算 校园招聘 编辑:程序博客网 时间:2024/06/08 07:07

通过查看官网上的介绍我们可以得到以下信息:

GlassFish 4.0 将实现 Java EE 7 特性, 致力于 Java EE 7 参考实现。此前未Java EE 6此版本主要要实现以下2个特性:

  1.  对虚拟化的支持
  2.  PaaS的实现

PaaS

PaaS是Platform-as-a-Service的缩写,意思是平台即服务。 把服务器平台作为一种服务提供的商业模式。云计算时代相应的服务器平台或者开发环境作为服务进行提供就称为PaaS。PaaS实现的功能是,一个程序在多台机器(包括虚拟机)间运行。PaaS可以看做是增加了虚拟特性的扩展DAS。

在GFv4中,实现PaaS 牵涉到4个服务:

  •   Orchestrator——Orchestrator实现将application 配备到cloud上。
  •   Elasticity Manager——负责application的监控数据,动态调整策略。
  •   IaaS Management Service——为GlassFish提供API管理云端IaaS。
  •   Domains Manager——负责自动在cloud中创建domain。

PaaS简化了application的配备、管理和集群的创建。包含以下特性:

Simplify application deployment by

1.   allowing services that are required by an application to be inferred from the application

2.   allowing services to be used by an application to be specified as part of the application deployment plan,

3.   providing the ability to provision the services for an application based on virtual machines allocated from a cloud,

4.   deploying an application to a cluster that is created for the application,

5.   configuring the application to use the provisioned services.

Simplify application management by

1.   providing application auto-scaling by monitoring application performance and adjusting the resources that are available to the application automatically,

2.   providing the ability to customize the decision making process regarding auto-scaling,

3.   providing complete application services such as backup, backing up not just the domain data, but the service data too.

4.   extending cloud-based application management to the complete application lifecycle (list, enable, disable, undeploy).

Simplify domain creation by

1.   allocating a virtual machine and deploying a DAS to it on behalf of a user,

2.   support the ability to run the PaaS feature itself in the cloud.

 

PaaS把Java EE平台作为一项服务提供给用户,用户不必关注nodes, clusters, instances, resources, services等等,而是把注意力集中在Java EE application的运行上。

以上特性需要满足下面要求

能兼容各种底层物理设备作为IaaS服务和虚拟服务的提供者。

1.      OVM

2.      Amazon Web Services

3.      VirtualBox

4.      Xen

5.      KVM

etc

兼容Java EE applications用到的各种服务。

1.      Java EE container (GlassFish only)

2.      JMS (OpenMQ only)

3.      load balancer (various vendors)

4.      database (various vendors)

etc

 Architectural Component  Orchestrator

Orchestrator 是最顶层服务,实现将application 配备到cloud上,我把它理解成application运行环境搭建的过程。Orchestrator 运用一系列服务插件,实现在applications上配备各种服务,如database, JMS等。

主要职责:

  • Service Dependency Discovery

确定application配备的必须服务(provisioned services)。既可以通过隐性依赖(implicit dependencies)也可通过显性依赖(explicit dependencies)的clould.xml文件定义必须服务(provisioned services)。

  • Service Provisioning

向虚拟化管理层(virtualization management layer)申请需要的虚拟机或服务,以及提供虚拟机上的必须服务(provisioned services)。

  • Service Association

根据定义文件(defining resources)把必须服务(provisioned services)和GlassFish上的application关联起来。

  • Deployment

运用必须服务(provisioned services)把application配备到GlassFish上

Elasticity Manager

Elasticity manager负责部署到服务器上的application的性能,利用监测数据调整资源利用策略。

主要功能:

Metric collection – 数据搜集。搜集有关application使用状况和机器资源状况的数据,作为decision making process的依据。

Scaling decisions – 制定决策。决策包括增加/删除instances数量,or other methods of scaling such as informing users.

Action execution –执行决策。策略制定后,Elasticity manager必须执行此决策。

IaaS Management Service (IMS)

Infrastructure as a Service (IaaS) management service为GlassFish提供API管理云端IaaS。是对application在云端的物理资源层面的管理。

IaaS management Service负责执行Elasticity manager和Orchestrator的决策。如果IaaS提供VM-level的监控服务,那么IaaS management service将搜集到的IaaS决策 (比如转移一个VM)的信息,交给Elasticity manager,Elasticity manager将这些数据运用Elasticity算法均衡virtual machines在groups间的分配。但是IaaS management Service只能在本virtual machines运行的实体机上执行决策。

Groups

主机被分成group。Groups可以是按地理位置确定,也可以是基于网络边界的。这些groups 由实体机组成,共享同样的虚拟服务(libvirt, jclouds..)。It is unclear how well such groups will map to public clouds offerings (at worst I suppose you have a single group).

IaaS management service 提供的以下APIs 可以管理group。

1.      组管理 (增/删machines).

2.      启动/暂停machines.

3.      预定义模版安装virtual machines

4.      分配/释放virtual machines

5.      监控分配出的virtual machines,提供监控数据

IaaS management service不维护clusters和已部署的applications列表,这是DAS的功能。他主要职责是在实体机上运行虚拟机The IaaS management service for libvirt should be implemented on top of GlassFish nucleus distribution.

Domains Manager

Domains Manager负责自动在cloud中创建domain。Domains manager 可以是命令行的形式,也可以是提供一个 GUI 控制界面,也可以是用于配备application 的APIs。Domains manager是可选的,原因是PaaS管理员可以手动分配VM,在上面创建GlassFish domain,配置domain启用IMS。

Domains Manager包含以下功能:

为GlassFish用户:

1.      创建账户/登陆控制台

2.      选择要运用的cloud,搜集cloud证书(credentials)存入IaaS management service中。

3.      创建Java EE domain。利用IaaS management service创建VM,在VM上创建Java EE domain,在Java EE domain上安装GlassFish,创建domain,将IaaS management service地址传给domain。(后台进行了虚拟机的选择,如OS类型、web/full版本etc)

4.      domain控制台

5.      显示用户创建的domains列表

6.      删除domain

7.      提供一体化的控制台。能直接将applications配备到domain上,在接口中隐藏domains的存在。

8.      与PaaS infrastructure相适应的任务调度。

9.      物理资源监控报告、利用监听器在cloud需求达到极限的时候发出资源枯竭警告。

为PaaS管理员

1.      查看GlassFish用户(拥有GlassFish用户所有权限)

2.      决定使用哪个IaaS management service

3.      为IaaS management service提供UI (tdb—IaaS management service可以有自己的UI)

Domains manager类似于PaaS用户的一个接入点。它可以为DAS创建VM。但是它不处理applications, 不为集群化的instances和其他服务创建虚拟机。它没有为服务提供商提供可插入接口。

运行在GlassFish的DAS上的Domains manager

Domains manager的生命周期开始于手动安装包含PaaS机能的GlassFish。需要运行在另一个GlassFish domain上,区别于其他被管理的domains。如果GlassFish domain 运行在cloud内部,cloud infrastructure 的工具手动创建domain 的VM。

Domains Manager Data Store

Domains manager存储一下信息:

1.      用户存储配置 (如何鉴别用户)

2.      IaaS management service配置信息(IaaS Management Service在Domains manager何处使用)

3.      per-user domain配置信息

DAS在哪里 (console URL, VM地址)

哪个IaaS management service被使用

3 0
原创粉丝点击