使用 WebSphere Application Server 动态缓存技术提升应用性能 大型互联网应用,例如门户网站、在线商城以及联机交易系统等等,往往需要处理大批量、高并发的用户访问请求,这对应用程序的性能提出了比较高的要求。性能问题一般可以在开发和部署两个阶段加以解决。在应用部署阶段,通过增加软硬件投入的方式比较常见,但其费用往往较高;而在软件开发阶段如果能够提前定位并解决性能瓶颈,则会减少大量成本。在开发阶段提升性能,一种常用的思路是降低瓶颈资源、业务模块的访问压力,因而在应用程序中加入缓存机制则因成本低、实现方便等优点成为常见解决方案。 缓存(Cache)在计算机科学领域指的是一些数据副本的集合。当原始数据访问速度较慢或代价过高时,可以通过使用在高速存储区域中保存原始数据的常用数据副本,从而提升访问速度。常见的硬盘缓存,CPU 缓存,网页缓存等等都是缓存概念的应用。在企业应用开发时,开发人员也可以基于缓存的概念,使用应用程序级别的缓存,从而来提升应用性能。 常见的开发方式为在 Java 虚拟机里通过 Static 成员变量、Context 对象或者用户 Session 中,保存常用的业务数据。一旦有访问需求,则先从缓存中尝试获取数据,如果尝试失败,再从实际模块获取数据并更新缓存。 此类方法实现简单,但容易遇到扩展性方面的问题:为了满足业务增长需求,用户可能需要在 多台 主机组成的 集群 中部署应用。此时 JVM 级的缓存会面临服务器间缓存同步的问题,处理不好,会导致数据不一致等严重错误。 其他可能的问题还有: 应用开发模式的改变:应用程序需要在相关业务处理逻辑处加入缓存相关处理。 配置管理:需要在缓存的有效期、大小等方面,如果要求可配置,则需要开发人员一定的工作量来满足此类需求。 针对这些常见问题,IBM WebSphere Application Server 则提供了一套动态缓存框架,能从不同方面加以解决。本文主要将讲述 WebSphere Application Server 的动态缓存机制,并给出具体例子描述如何配置和使用动态缓存来解决实际业务问题。 IBM WebSphere Application Server 动态缓存机制介绍 回页首动态缓存机制是 WebSphere Application Server 为应用程序开发人员提供的一套扩展服务,其主要功能组件如下图所示: 图 1. WebSphere Application Server 动态缓存的主要功能组件 动态缓存机制架构如上图所示。动态缓存机制的核心功能为:在内存中缓存...