首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

探索 IBM PureApplication System 中的基于 eXtreme Scale 的缓存服务选项

探索 IBM PureApplication System 中的基于 eXtreme Scale 的缓存服务选项

缓存服务是用来解决云企业应用程序(如在面向企业应用程序的云应用程序平台 IBM® PureApplication® System    上运行的那些应用)的性能和可扩展性问题的一种流行的解决方案。PureApplication System    为云中的虚拟部署提供了一个内置的共享缓存服务,以便在各组件之间存储、共享和访问缓存信息。这种缓存服务以来自 WebSphere® eXtreme    Scale(一个完全弹性的基于内存的存储网格)的代码为基础,并提供了类似于 WebSphere DataPower® XC10 Appliance    的功能:支持面向数据的分布式缓存场景的缓存平台,对现有应用程序极少或根本没有更改,此外,它增加了弹性缓存函数,使应用程序能够更经济高效地进行扩展。
为了充分利用 WebSphere eXtreme Scale 技术,您可以基于 eXtreme Scale 创建自己的缓存服务:
  • 您可以将 eXtreme Scale 应用程序部署到 WebSphere 集群中,使之成为 eXtreme Scale 缓存服务。
  • 您可以通过使用安装了 eXtreme Scale 的一组虚拟机和一些脚本来配置缓存服务器,从而创建一个 eXtreme Scale 缓存服务。(这种组合也被称为 WebSphere     eXtreme Scale 虚拟系统模式。)
在这篇文章中,我将介绍 PureApplication System 中的这些缓存选项:
  • 使用内置的共享缓存服务。
  • 使用运行 WebSphere 集群虚拟系统模式(VSP)的 eXtreme Scale 缓存服务。
  • 使用具有核心操作系统镜像的 eXtreme Scale 虚拟系统模式。
使用内置的共享缓存服务 在 PureApplication System 中的内置缓存服务是面向 PureApplication System    云组中的虚拟部署的共享服务,用于在组件之间存储、共享和访问缓存信息。每一个云组都必须有自己的缓存服务。
缓存服务可以根据策略自动进行扩展,用户可以对策略进行小幅调整。实例的最大数量是可配置的,这样就可以控制缓存服务的容量上限。
缓存服务提供了 、。它支持三种类型的数据网格:
  • 简单的数据网格,可用于任何情况。
  • WebSphere Application Server 动态缓存复制网格 (允许 servlet、JSP、Web 服务和 WebSphere     Application Server 命令的输出的容器级缓存进入内存)。
  • WebSphere Application Server HTTP 会话复制网格(在用户与应用程序交互期间维护用户信息和用户会话的状态)。
下面的过程大致说明了如何使用 HTTP 会话管理的缓存服务:
  • 将缓存服务部署到目标云组中。
  • 在 WebSphere Application Server (WAS) 集群模式的 Deployment Manager 部分中选中      XC10
  • 通过使用 XC10(缓存服务)缓存,配置 WAS 服务器或应用程序,并启用会话管理。
现在我们来查看一下如何使用运行 WebSphere 集群虚拟系统模式的 eXtreme Scale 缓存服务。
使用 eXtreme Scale 缓存服务和 WebSphere 集群 VSP 如果在 WebSphere Application Server Network Deployment (WAS-ND) 上安装了 WebSphere eXtreme Scale    服务器组件,而且 WebSphere 配置文件补充了 eXtreme Scale,那么 eXtreme Scale 支持在 WAS-ND     环境中运行目录和容器服务器。(目录服务器 是包括目录服务的 JVM,这些目录服务维护网格服务器和容器的健康运营。容器服务器    主机网格容器保存了碎片,它们组成了包含在整个网格中的数据。)在 PureApplication System 中的 WAS-ND 虚拟镜像不包括 eXtreme Scale    服务器组件。
为了在 PureApplication System 的 WAS-ND 环境中支持 eXtreme Scale 服务器,您必须在 WAS 集群部件上安装 eXtreme Scale    服务器组件。使用脚本包来安装在部署 WAS 集群模式时运行的 eXtreme Scale 服务器组件。
如果 eXtreme Scale 服务器组件在 WAS-ND 中可用,那么您可以在 WebSphere 集群上创建 eXtreme Scale 缓存服务。
eXtreme Scale 缓存服务主要有两部分:目录服务器和容器服务器。将一个 WAS 集群专用于 eXtreme Scale    目录服务器,而另一个集群专用于容器服务器。对于目录集群,每个集群成员都应该在一个专用的虚拟机(VM)上运行。对于容器集群,多个集群成员可以驻留在同一个虚拟机上。然而,每个 VM    应当具有相同的计算资源,并托管相同数量的集群成员,以便达到最佳的负载均衡。
目录服务器集群 专用于 eXtreme Scale 目录服务器的集群不需要安装任何东西。但是,在使用 WebSphere Integrated Solutions Console    完成部署后,您必须使用脚本包或手动方法创建一个 eXtreme Scale 目录服务域。目录服务器集群的所有集群成员都必须添加到目录服务域。
容器服务器集群 您必须在专用于容器服务器的集群上安装 eXtreme Scale 应用程序。eXtreme Scale 应用程序是只有一个 JEE 模块的 Java™ Platform,    Enterprise Edition (JEE) 应用程序。它包括两个指定的 eXtreme Scale 配置 XML 文件:objectGrid.xml 和    objectGridDeployment.xml,在 eXtreme Scale 应用程序的 JEE 模块的 META-INF 文件夹中。
在容器服务器集群上安装并启动 eXtreme Scale 应用程序后,集群成员会根据 eXtreme Scale 配置 XML 文件中所包括的定义来托管 eXtreme Scale    容器服务器。
在 WAS 集群模式中启用 eXtreme Scale 缓存服务 WAS 集群模式包含 Deployment Manager (部署管理器)和 Custom Node (自定义节点)部件。部件是在虚拟机上配置的组件:
  • 部署管理器的配置文件为包含多个虚拟机的环境提供了基础。配置部署管理器不需要数据库部件。
  • 自定义节点提供了未配置的节点,可以与基本功能控制节点、全功能控制节点或部署管理器结合使用。必须先将部署管理器部件部署在另一台虚拟机上,然后才能够配置自定义节点部件。
可以通过运行脚本包封装下列配置任务来启用 eXtreme Scale 缓存服务:
  • 安装 eXtreme Scale 服务器组件
  • 用 eXtreme Scale 补充配置文件
  • 创建 eXtreme Scale 目录服务器集群
  • 创建 eXtreme Scale 容器服务器集群
  • 创建 eXtreme Scale 目录服务域,并添加所有目录服务器集群成员
  • 在 eXtreme Scale 容器服务器集群上安装 eXtreme Scale 应用程序
  • 启动 eXtreme Scale 目录服务器集群
  • 启动 eXtreme Scale 容器服务器集群
前两个任务(安装和补充配置文件)必须在部署管理器和自定义节点这两个部件上运行。剩下的任务只在部署管理器部件上运行。
在创建模式部署时提取这些配置任务。在部署了 WAS 集群模式之后,企业可以随时使用 eXtreme Scale 缓存服务。在 WAS 中,已配置的 eXtreme Scale    缓存服务被称为 eXtreme Scale 系统。
使用含核心操作系统镜像的 WebSphere eXtreme Scale VSP WebSphere eXtreme Scale 不需要 WebSphere Application Server。可以从 Java Standard Edition JVM    安装和运行它。
通过使用核心操作系统镜像作为起点,可以创建一个 eXtreme Scale 虚拟系统模式。在部署 WebSphere eXtreme Scale VSP 之后,可以将它作为一个普通的    WebSphere eXtreme Scale 系统进行使用,在 PureApplication System 中提供弹性缓存服务。
可以根据含脚本包的核心操作系统镜像来构建 WebSphere eXtreme Scale VSP,这些脚本包用于安装 eXtreme Scale 软件和建立 eXtreme Scale    系统配置(具有用于控制 eXtreme Scale 系统生命周期的脚本)。
使用核心操作系统镜像构建 eXtreme Scale 缓存服务的主要配置任务是:
  • 安装 eXtreme Scale 软件。(另一种方法是使用扩展和捕获的方法来构建一个安装了 eXtreme Scale     的自定义核心操作系统镜像。扩展虚拟镜像的过程首先是从虚拟镜像的副本开始的,然后可以修改该副本。捕获它包括将修改后的镜像另存为目录中的一个新的虚拟镜像。)
  • 建立 eXtreme Scale 服务器配置。启动容器服务器需要两个 eXtreme Scale 配置 XML 文件:objectGrid.xml 和     objectGridDeployment.xml。
  • 启动目录服务器。
  • 启动容器服务器。
在创建模式部署时执行这些配置任务。在部署了 WebSphere eXtreme Scale 虚拟系统模式之后,企业可以随时使用 eXtreme Scale 缓存服务。已配置的    eXtreme Scale 缓存服务被称为独立 eXtreme Scale 系统。
内置的共享缓存服务与定制的 eXtreme Scale 缓存服务 内置的和自定义的缓存服务提供了相同质量的运行时系统。从应用程序的角度来看,这两者的区别在于所支持的功能:
  • 自定义的 eXtreme Scale 缓存服务具有完整的 eXtreme Scale 功能
  • 内置的缓存服务只支持一部分 eXtreme Scale 功能
自定义的 eXtreme Scale 缓存服务可以支持内置缓存服务所支持的任何场景。内置的缓存服务的限制是:它不允许用户修改配置和 Java 类路径。
eXtreme Scale 缓存服务支持内置缓存服务不支持的哪些主要功能?
  • 内联缓存拓扑结构。在 eXtreme Scale     应用程序设计阶段,其中的一个重要决定是选择内联拓扑还是侧缓存拓扑。如果使用内联缓存拓扑结构,那么应用程序需要使用 eXtreme Scale Loader 插件与后端数据存储进行集成,并使用     eXtreme Scale 作为与数据进行交互的主要手段。
  • DataGrid API。DataGrid API     提供了一个简单的编程接口,对整个数据网格或其子集运行与数据位置并行的业务逻辑。它支持两种常见的网格编程模式:并行映射和并行缩减。
  • Query API。eXtreme Scale Query API 提供了一个强大的机制,使用 eXtreme Scale     查询语言对实体或基于对象的架构执行 SELECT 类型的查询。应用程序需要使用这个关键的特性,利用该特性来按照多个条件搜索数据。
  • EntityManager API。EntityManager API     提供一种简单的方法来声明并与相关对象的复杂图形进行交互,从而简化了与数据网格的交互。eXtreme Scale EntityManager API 类似于 JPA EntityManager     API,但有一些差别。
  • JPA Loaders。eXtreme Scale 有一个内置的 Java Persistence API (JPA) Loader     插件,使您能够与您选择的加载器所支持的任何数据库进行交互。在使用内置的 JPA 加载器时,系统成为一个内联缓存拓扑结构。
  • JPA L2 Cache。eXtreme Scale 有一个内置的 OpenJPA 和 Hibernate L2 缓存实现,可以用于提高     OpenJPA 和 Hibernate 应用程序的性能。使用面向 OpenJPA 和 Hibernate 的 eXtreme Scale L2     缓存实现不需要修改任何应用程序代码。这是最简单的提高性能的方法。
  • 数据网格定制。eXtreme Scale 允许应用程序通过已定义的插件来定制数据网格。插件是向可插拔组件提供功能的组件,其中包括 eXtreme     Scale 系统中的 ObjectGrid 和 BackingMap 组件。应用程序可以最大限度地提高性能,改变运行时行为,并用现有的插件添加所需的功能。
  • 多数据中心拓扑结构。eXtreme Scale     具有多主异步复制机制,可以构建多数据中心拓扑结构。使用多主异步复制机制,两个或多个数据网格可以成为对方的精确副本。每个数据网格都托管在一个独立的目录服务域中,有它自己的目录服务、容器服务器和惟一的名称。
如果您的应用程序用例需要使用任何这些功能​,那么可以使用自定义的缓存服务。
结束语 本文探索了如何构建缓存服务,使用它作为在云环境中提高应用程序的性能和可扩展性的一种工具。缓存服务可以针对系统上最常见请求的数据资源大大降低接入带宽的开销需求。
我详细介绍了企业云系统(PureApplication System)如何利用内置的工具来支持缓存管理。还演示了如何通过构建一个自定义系统,采用 WebSphere eXtreme    Scale 的缓存功能来创建和集成更强大的缓存管理。
返回列表