构建高性能和高弹性WebSphere eXtreme Scale应用程序的原则和最佳实践

简介

数据是用于管理、挖掘和操作数据的所有计算系统的核心元素。在 Internet 年代,应用程序不仅要求即时访问数据,通常还以压倒性的近乎同步的请求尝试该访问。尽管 数据库技术有了很大提高,集中式数据存储对这种需求和响应能力的应用程序来说还是存在问 题。

IBM WebSphere eXtreme Scale 为高容量和高 SLA(服务级别协议)应用程序提供 集中式数据访问选择。WebSphere eXtreme Scale 通过缓存技术将数据拉近应用程序。将数据 移近应用程序可获得以下优势:

本地数据可改善应用程序的性能。 这既包括缓存数据 使其接近应用程序,又包括复制靠近(分区)数据的应用程序逻辑,以实现并行处理。

为频繁访问的数据提供缓存可以节省时间或降低数据库的争用和总体请求容量。 这转而降低数 据库级的硬件和许可成本,且可为共享该资源的应用程序提高数据库总体响应能力。

将 数据拉近应用程序可提高可用性。WebSphere eXtreme Scale 还提供了复制整个环境中的数据 的特性,从而进一步提高弹性。

与访问基于 SQL 的数据相比,以最终的本机应用程序 形式(对象)缓存数据可减小路径长度。

缓存复杂业务逻辑的结果可加快后续调用,并 降低总体解决方案成本。

WebSphere eXtreme Scale 是一种通用、高速的缓存解决方案 ,可在各种不同的设计中予以配置和使用。不过,您不能盲目地使用 WebSphere eXtreme Scale 提供的 API,并想当然地认为它会减轻数据库的工作重负,使您的应用程序更快地运行 。作为提高应用程序性能的一种策略,缓存应当被明智谨慎地应用。同样地,您不能想当然地 认为您的应用程序在遇到硬件故障时具有弹性,除非您为此筹备了有意识的计划。本文考查了 大量最佳实践,帮助您构建高性能和高弹性的 WebSphere eXtreme Scale 应用程序。

查询的合理使用

当您想知道如何在一个缓存解决方案中使用 WebSphere eXtreme Scale 时,需要考虑的一个首要设计原则很简洁但很重要:

WebSphere eXtreme Scale 不是一 个关系数据库。

然而,很多首次 WebSphere eXtreme Scale 实现都会犯假设这样一个 通病。但怎么会有这种想法产生呢?有时它是因未考虑 WebSphere eXtreme Scale API 不同方 面的性能影响而产生的。

WebSphere eXtreme Scale 有两个不同的 API,用于定义将对 象放入缓存和从缓存中获取对象的方式:

第一个是 Map API,它基于 java.util.Map API。在使用 Map API 时,您要有效对待网格中的对象,如同它们是本地哈希映射中的对象一 样。使用 insert()、put() 和 get() 等方法将对象放到网格中并从网格中检索它们。有了 Map API,网格的最合理用法就变得一清二楚:您仅需在合适的键处将对象放入,并使用同一个 键查询对象。当考虑第二个可用 WebSphere eXtreme Scale API,即 EntityManager API 时, 就会产生数据库混乱。

EntityManager API 是仿照 JPA (Java Persistence API) 实体模型建模的。使用 EntityManager API 时,会使用注释描述置入 WebSphere eXtreme Scale 缓存中的实体。使用 EntityManager.persist() 方法将对象存储到网格中,与对 JPA 所做的处理一样。不过,与 JPA 的相似性有时致使开发人员做出一些效率低下的选择,从而导致对产品的次佳使用。您可 以使用 find() 方法或查询方法来查询实体,前者根据对象的键检索对象,而后者根据一系列 属性值查询对象。

首次使用 WebSphere eXtreme Scale 的用户可能过多依赖于 WebSphere eXtreme Scale EntityManager API 的查询功能,特别是在将 WebSphere eXtreme Scale 纳入专为数据库访问定制的现有应用程序时。WebSphere eXtreme Scale 基本上是一个 缓存提供者。查询功能是产品的一个便捷特性,但它不受高端数据库中所有高级查询优化器的 支持。因此,WebSphere eXtreme Scale 最精于根据对象的键查找对象,而不是根据查询定位 该对象。这又涉及到另一个主要原则:

时间: 2024-08-04 04:16:20

构建高性能和高弹性WebSphere eXtreme Scale应用程序的原则和最佳实践的相关文章

增强WebSphere eXtreme Scale的xsadmin

引言 IBM WebSphere eXtreme Scale 可以采用两种方式进行部署: 通过扩充 WebSphere 配置文件安装到现有 WebSphere Application Server Network Deployment 实例中. 安装到没有 WebSphere Application Server 的 J2SE 环境中. 在第一个场景中,系统监视和服务器管理任务由 WebSphere Application Server 的管理组件完成,但在独立环境和 WebSphere 管理的

IBM WebSphere eXtreme Scale一个分布式高速缓存解决方案

WebSphere® eXtreme Scale 是 IBM 中间件中一个重要的分布式缓存平台,用以实现弹性的可扩展性和高可用性.http://www.aliyun.com/zixun/aggregation/13387.html">WebSphere eXtreme Scale 以内存网格的方式运行,动态处理.分区.复制和管理成千上万服务器上的应用程序数据和业务逻辑.它提供事务完整性和透明的故障恢复功能以确保高可用性.高可靠性和一致的响应时间. ObjectMap 是键值对的容器,允许应

Websphere Application Server环境配置与应用部署最佳实践

使用 XML 文件扩展 wsadmin 工具与 Jython 脚本 简介:wsadmin 是 Websphere Application Server 提供的脚本工具,它支持开发人员通过脚本对服 务器进行管理和配置.本文首先对 wsadmin 以及脚本语言 Jython 进行介绍,之后,本文将介绍一种通 过 XML 配置文件扩展 wsadmin 以及脚本的方法,该方法允许部署人员通过 XML 文件定义服务器的配置 步骤和应用部署过程,从而提高 wsadmin 以及脚本的可用性. 在发布一个运行于

[转]WebSphere Application Server 环境配置与应用部署最佳实践分享!

问题描述 启动wsadmin工具开发人员可以通过wsadmin.bat(windows)或wsadmin.sh(Linux或AIX)来启动wsadmin工具.这两类文件既可以在WAS概要文件的bin目录(${profile_root}/bin)中找到,也可以WAS的bin目录(${app_server_root}/bin)中找到.在WAS的bin目录下的启动命令在运行时需要指定-profileName参数,而在特定概要文件的bin目录下的启动命令则不用指定.wsadmin工具可以以交互式或批处理

将eXtreme Scale集成到IBM Business Process Manager中提高性能

将 http://www.aliyun.com/zixun/aggregation/13387.html">WebSphere eXtreme Scale 与 BPM 集成在一起的方法之一是紧密耦合 (tight coupling),将 eXtreme Scale 安装到 BPM 中,同时借助 eXtreme Scale 功能增强 BPM Process Server 配置文件.这是 BPM V8 用户的首选集成方法.增强配置的优势在于,eXtreme Scale 配置可以利用内置的 We

构建高性能ASP.NET站点

构建高性能ASP.NET站点之一 剖析页面的处理过程(前端) 前言:在对ASP.NET网站进行优化的时候,往往不是只是懂得ASP.NET就足够了的. 在优化的过程中,一般先是找出问题可能存在的地方,然后证明找出的问题就是要解决的问题,确认之后,在进行一些措施.系列文章在结构上的安排是这样的:先讲述前端的调优,我会在文章的标题后面标上"前端",如果是后台代码的调优,我会在标题上标上"后端",如果是数据库设计的调优,我会在标题上标上"数据库",希望大

高性能、高弹性JSP和Servlet性能优化

你的J2EE应用是不是运行的很慢?它们能不能承受住不断上升的访问量?本文讲述了开发高性能.高弹性的JSP页面和Servlet的性能优化技术.其意思是建立尽可能快的并能适应数量增长的用户及其请求.在本文中,我将带领你学习已经实践和得到证实的性能调整技术,它将大大地提高你的servlet和jsp页面的性能,进而提升J2EE的性能.这些技术的部分用于开发阶段,例如,设计和编码阶段.另一部分技术则与配置相关. 技术1:在HttpServlet init()方法中缓存数据 服务器会在创建servlet实例

高性能、高弹性的JSP和Servlet的性能优化

js|servlet|性能|优化     你的J2EE应用是不是运行的很慢?它们能不能承受住不断上升的访问量?本文讲述了开发高性能.高弹性的JSP页面和Servlet的性能优化技术.其意思是建立尽可能快的并能适应数量增长的用户及其请求.在本文中,我将带领你学习已经实践和得到证实的性能调整技术,它将大大地提高你的servlet和jsp页面的性能,进而提升J2EE的性能.这些技术的部分用于开发阶段,例如,设计和编码阶段.另一部分技术则与配置相关.     技术1:在HttpServlet init(

【原创】构建高性能ASP.NET站点 第六章—性能瓶颈诊断与初步调优(下前篇)—简单的优化措施

原文:[原创]构建高性能ASP.NET站点 第六章-性能瓶颈诊断与初步调优(下前篇)-简单的优化措施 构建高性能ASP.NET站点 第六章-性能瓶颈诊断与初步调优(下前篇)-简单的优化措施     前言:本篇给出一些在部署ASP.NET站点时采用的简单的优化措施.同时很也非常的感谢朋友对昨天发的文章的支持,本篇的内容不多,也比较的简单!         本篇议题如下:       识别和分析服务端的性能瓶颈(上)    内存(前篇)    缓存(前篇)     CPU(前篇)    处理请求线程