创新触手可及

小镇里有台紫色新设备

关于 WebSphere DataPower XC10 弹性缓存解决方案的常见问题

Comments

系列内容:

此内容是该系列 # 部分中的第 # 部分: 创新触手可及

敬请期待该系列的后续内容。

此内容是该系列的一部分:创新触手可及

敬请期待该系列的后续内容。

每一期创新触手可及从开发人员和从业人员的角度提供了有关新兴技术主题的新信息和讨论,并探秘了前沿 IBM® WebSphere® 产品的幕后知识。

抵抗毫无意义

IBM WebSphere DataPower XC10 Appliance 设计用作 IBM WebSphere Application Server 基础结构的插入式(drop-in)缓存层。XC10 设备于 2101 年 5 月初在 IMPACT 会议上初次亮相,是健壮的 DataPower 硬件设备平台和 IBM 最新的分布式缓存技术相结合的产物。与 IBM WebSphere CloudBurst™ Appliance 一样,它也是紫色的,因此它的魅力难以抵挡。

XC10 设备自 6 月底才全面投入市场,因此本文的目的是通过解答一些关于该产品的最常见的问题来帮助您熟悉它令人印象深刻的主要功能。您最有可能想了解的、关于 XC10 设备的前 10 件事是:

1. XC10 设备是什么?

WebSphere DataPower XC10 Appliance 是一个箱式弹性缓存解决方案。每个 XC10 设备都拥有 160GB 硬化内存(hardened memory)。根据设计,它易于安装、配置和管理。

XC10 设备提供了一种快速简便的方法来将一个缓存层集成到您的企业基础结构中。数据缓存层插入到应用程序服务器层后面。数据缓存层的目的是为您的应用程序服务器层提供一个可伸缩、容错和一致的数据网格。数据网格是用于存储可缓存应用程序数据的容器。XC10 设备可以存储多个数据网格。一个 XC10 设备分组(grouping)称为一个集合。当一个集合包含不止一个 XC10 设备时,一个或多个数据网格副本将被创建并在整个集合内分布。对一个数据网格的任何更改都将要传播到该数据网格的所有副本。当 XC10 设备添加到集合或从集合移除时,数据网格和副本将自动在整个集合内重新分布。数据网格的监控、管理和放置对弹性数据网格的可靠性和可伸缩性至关重要。

2. XC10 设备有什么用途?

XC10 设备的用途就是缓存。WebSphere Application Server(以及其他 WebSphere 产品)同时支持基于动态缓存的优化和 HTTP 会话持久性,以实现性能增强、可伸缩性和高可用性。特别是,XC10 设备通过卸载动态缓存和 HTTP 会话持久性需要的应用程序服务器缓存要求和磁盘占用,进一步增强了这些特殊优化。另外,使用 IBM WebSphere eXtreme Scale ObjectMap APIs 的应用程序能够利用 XC10 设备数据缓存来存储可序列化对象。

XC10 支持三种数据网格类型:

  • 简单数据网格存储简单的 “键-值” 对。
  • 会话数据网格存储 HTTP 会话管理数据。
  • 动态缓存网格存储来自利用 WebSphere 动态缓存 APIs 或基于容器的缓存的应用程序的可缓存对象。

3. 为何需要 XC10 设备?

简单来说,是因为 XC10 设备能够为您省钱。

在传统应用程序服务器环境中,缓存内存包含在每个应用程序服务器实例中。缓存与应用程序占用相同的可寻址内存空间。因此,缓存大小有限。如果缓存占用太多内存,则有可能会降低应用程序性能。由于缓存包含在应用程序服务器实例中,如果您在一个集群中配置了几个应用程序服务器实例,那么每个实例都包含一个缓存,且这些缓存最终都会包含已缓存应用程序数据的相同副本。系统将根据无效消息的通信确定这些数据副本是新鲜的还是陈旧的。服务器实例数量越多,要保持服务器实例间的缓存数据新鲜需要的无效交谈也就越多。另外,通常需要高速磁盘或数据库(或二者),以增加缓存大小,或获取高可用性。

在您的企业基础结构中引入一个弹性数据网格将极大地减小每个应用程序服务器实例的内存占用。在虚拟环境中,节约出来的内存可用于支持其他已虚拟化的服务器,从而提高物理硬件的利用率。数据网格提供一个单一的一致缓存,由集群中的所有应用程序服务器实例共享。因此,数据总是新鲜的,因为所有应用程序实例都查看缓存中相同的单一副本。这消除了传统集群化应用程序服务器架构中的所有无效交谈,能够产生更高的事务性能。由于数据网格的主要特征是可伸缩性和高可用性,专门用于持久性的高速磁盘和数据库在大多数情况下不再需要。然而,对于简单网格,仍然需要数据库作为主存储。另外,由于弹性数据网格以线性方式缩放,它们的大小几乎没有限制。

使用一组 XC10 设备,可以轻松构建超大型数据网格。数据网格越大,可存储的可缓存数据也就越多,从而能够极大减少昂贵的冗余事务,因为被请求的数据很有可能已位于超大型数据网格中。

总之,弹性数据网格提高了硬件利用率,减少了昂贵的冗余事务,消除了用于持久性的高速磁盘和数据库的必要性。这些改进共同产生巨大的成本节约。

4. 使用 XC10 设备需要安装代码吗?

是的,您需要从 IBM Support Portal 下载(免费的)WebSphere eXtreme Scale 客户端。这个客户端可以独立安装,也可以嵌入式安装,以便与 WebSphere Application Server 集成。独立安装只支持简单数据网格。HTTP 会话网格和动态缓存数据网格需要嵌入式安装。(嵌入式安装也支持简单网格。)

如果您选择嵌入式安装,则必须在安装成功完成后立即扩大您的现有 WebSphere Application Server 配置文件。配置文件扩大后,您才能在 WebSphere Application Server 管理控制台中选择 XC10 设备作为 HTTP 会话数据网格配置或动态缓存数据网格配置的一个选项。

5. 使用 XC10 设备需要编写代码吗?

不需要额外编写任何代码就可以使用 XC10 设备实现 HTTP 会话缓存或动态缓存支持。

对于 HTTP 会话缓存,只需使用 WebSphere Application Server 管理控制台配置您的应用程序来使用 XC10 设备。

对于动态缓存支持,如果您的应用程序已经使用动态缓存 APIs 利用动态缓存,或者您使用 WebSphere Application Server 中的容器级动态缓存支持,则不需要任何额外代码。为了配置 WebSphere Application Server 来将 XC10 设备用作动态缓存提供者,必须首先指定在该设备上运行的一个目录服务,方法是在您的 WebSphere Application Server 中创建一个目录服务域。然后,要在您的设备上创建数据网格,可以运行已提供的 dynaCfgToAppliance 脚本,或者使用 SC10 设备基于浏览器的用户界面手动创建数据网格。您需要使用 WebSphere Application Server 管理控制台将 XC10 设备定义为动态缓存提供者,配置副本设置,最后为您想修改的缓存实例添加一个拓扑自定义属性。

对于简单数据网格,无论使用独立客户端或嵌入式 WebSphere Application Server 客户端,都必须将客户端代码添加到您的应用程序,该应用程序使用 WebSphere eXtreme Scale ObjectMap APIs 来在简单数据网格上执行简单的创建、检索、更新和删除(CRUD)操作。

6. 如果我需要一个更大的缓存,该怎么办?

当您意识到通过部署一个 WebSphere DataPower XC10 Appliance 来向您的基础结构添加一个数据网格的好处之后,您可能会想再添加一个设备来实现可伸缩性和高可用性。弹性数据网格的妙处在于它以线性方式伸缩。因此,通过再添加一个设备,您可以将您的数据网格容量再增加 160GB。无论何时您需要更多容量,只需添加更多设备。如果您需要更多服务器来支持更高的访问负载,则可以在多个设备上制作您的网格。

要额外部署一个 XC10 服务器,必须将其添加到集合。将另一个设备添加到集合的流程 — 适当地定义为术语 “吸收” — 将擦除被吸收的设备上的所有现有数据网格。要完成吸收过程,集合成员将均匀地重新分布数据网格并在整个已更新的集合中创建副本。在一个集合中,对一个数据网格的任何更新或更改将在该集合中包含那个数据网格的副本的其他所有设备之间持久化。(如果您熟悉电视剧 “ 星际旅行(Star Trek)”,那么您可能也会熟悉术语集合(collective)吸收(assimilation)。无论是不是巧合,同样的术语用于描述 XC10 概念,二者之间的类比是合乎逻辑的。)

7. XC10 设备如何融入高可用性架构?

高可用性是数据网格技术架构和设计的基础。当然,从硬件角度看,必须拥有一个以上 XC10 设备,以避免只拥有单个故障点。通过创建一个超过一个 XC10 设备的集合,数据网格复制将自动启用。

数据网格复制是弹性数据网格自我修复特性的关键组件。对于每个主数据网格,将在不包含该主数据网格的设备上创建一个副本数据网格。如果包含主数据网格的设备上出现故障,则副本数据网格将升格为主数据网格。一个新副本将在集合中的另一个可用设备上自动创建。在故障转移情况下,主数据网格和副本数据网格将在集合中的剩余设备之间自动重新分布。

负责高可用性故障转移的关键集合组件是目录服务器。目录服务器持续跟踪集合中所有主网格和副本网格的位置。集合中的每个设备上运行一个目录服务器,每个集合运行的目录服务器限制为 3。目录服务是目录服务器之间的通信。目录服务器协调整个集合中的主网格和副本网格的放置。

要在为您的数据网格定义高可用性架构时实现更细的粒度,集合中的每个设备可以关联到一个名为区域的物理位置。区域可以表示物理阵列位置、房间号、数据中心位置,等等。因此,可以鉴于高可用性原因(比如电网故障转移、网络故障转移或数据中心故障转移)关联集合中的 XC10 设备组和特定位置。对于高可用性最佳实践,一个集合应该跨几个区域。

区域帮助目录服务确定数据网格的放置,以便主数据网格和副本数据网格被放置到不同的区域中。如果一个区域出现故障,工作区域中的副本被升格为主数据网格,新副本在其他工作区域中的集合中的其他设备上创建。当故障区域重新上线时,主数据网格和副本数据网格通过目录服务在所有可用区域之间重新分布,从而最大化高可用性。

8. XC10 设备安全吗?

XC10 设备在几个级别上都绝对安全。它构建于经过硬化的防篡改 DataPower 平台上。如果有人企图打开设备并触发内部入侵探测开关,XC10 设备将不能再重新开机,直到返回 IBM 进行重置之后。XC10 并不是一个通用计算平台,它不支持通过一个命令 shell 访问操作系统,也不支持上传和执行用户代码或用户脚本。只能上传经过签名的可信固件到 XC10 设备。最后,XC10 设备针对管理任务和数据网格安全提供细粒度用户和用户组权限。当数据网格安全启用时,只有经过授权的用户才能访问数据网格中的数据。XC10 还支持集成 Lightweight Directory Access Protocol (LDAP) 目录来进行用户验证。

9. 如何管理设备?

XC10 设备通过一个基于浏览器的用户界面管理。从这个用户界面,您可以:

  • 管理用户界面安全。
  • 管理用户和组。
  • 配置日期和时间设置。
  • 配置用户密码重置的电子邮件发送。
  • 配置设备网络设置。
  • 创建和管理集合和区域。
  • 管理和保卫数据网格。
  • 更新设备固件。
  • 关闭和重启设备。

10. 如何了解设备内部状况?

除执行管理任务外,XC10 设备用户界面支持监控管理任务的进度和数据网格的性能。这个信息有助于您确定您的 XC10 设备的总体容量和性能。

通过选择 XC10 设备管理控制台中的数据网格概览,您可以获取以下项目的高级视图:

  • 设备和集合上的已使用容量和可用容量。
  • 按照平均事务时间排序的前 5 个数据网格。
  • 按照平均吞吐量(事务/秒)排序的前 5 个数据网格。
  • 一段时间内的已使用容量。
  • 一段时间内的平均吞吐量。
  • 一段时间内的平均事务时间。

还可以选择单独的数据网格的概览,它提供的信息与数据网格概览类似,但针对一个特定的数据网格。要获取关于一个特定数据网格的详细信息,可以选择数据网格细节报告,了解数据网格和映射细节。

结束语

IBM WebSphere DataPower XC10 Appliance 是一种快速、简便和经济高效的方法,用于添加一个弹性数据缓存层来增强您的应用程序基础结构。另外,XC10 设备能够与您的 WebSphere 产品轻松集成。它能够卸载动态缓存支持的内存和高速磁盘要求,消除 HTTP 会话状态持久性的数据库存储需求,并减少冗余事务。这些优化能够实现更高的事务性能、更高的硬件利用率、以及更低的内存占用,所有这些好处有可能带来巨大的成本节约。


相关主题

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=WebSphere, Web development
ArticleID=591336
ArticleTitle=创新触手可及: 小镇里有台紫色新设备
publish-date=11252010