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

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

ObjectMap 是键值对的容器,允许应用程序存储值并以键作为索引。WebSphere eXtreme Scale 能够监控 Map 的 Entry 的插入顺序,从而为 Map 提供了类似队列的 FIFO( 先进先出 ) 的功能。客户端能够按照插入顺序得到 Map 中的 Entry,即使在多线程并发访问的情况下也可以基本保证这种顺序性。

借助于 WebSphere® eXtreme Scale 的高可用性和高可靠性,可以实现弹性的队列负载处理,有效应对大并发的峰值访问和提高消息的可靠性,成为分布式环境下消息队列的一个可靠选择。

Websphere eXtreme Scale FIFO 的实现

有两种实现 WebSphere® eXtreme Scale 先进先出队列的方式,一种是使用原生的 ObjectMap, 一种是使用官方提供的工具包 WXSUtils。下面就两种不同的实现方式进行分别的介绍。

基于 ObjectMap 的 FIFO 实现

WebSphere® eXtreme Scale 记录了 Entry 的插入顺序,我们可以利用此特性来实现先进先出的队列。这种操作必须包含在一个事务中。在指定一个事务中,客户端可以利用 getNextKey(long timeout) 方法获取当前 ObjectMap 里未被锁定的那个 Entry 的 Key,通过这个 Key 来获取当前 Map 中最先被插入的元素。需要注意的是 getNextKey(long timeout) 方法需要设置一个 timeout 时间,单位为毫秒。比如下面代码中我们设定了 5000 毫秒为 timeout 时间,如果超出了 5000 毫秒还没有返回当前未被锁定 Entry 的键值,则返回 Null。此超时时间应该根据实际系统拓扑结构和网络情况进行合理的设置。

清单 1. ObjectMap 的出队

Session sess = grid.getSession(); ObjectMap map = sess.getMap(xxxx); sess.begin(); Object msgKey = map.getNextKey(5000); if (msgKey == null) { sess.rollback(); continue; } Object value = map.get(msgKey); map.remove(msgKey); sess.commit();

需要特别注意的是,如果不从 Map 中删除当前获取的 Entry,那么下次 getNextKey 时仍旧会取得上一次获取的 Key,这样就会造成消息的重复取得。

时间: 2024-09-11 23:59:10

IBM WebSphere eXtreme Scale一个分布式高速缓存解决方案的相关文章

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

简介 数据是用于管理.挖掘和操作数据的所有计算系统的核心元素.在 Internet 年代,应用程序不仅要求即时访问数据,通常还以压倒性的近乎同步的请求尝试该访问.尽管 数据库技术有了很大提高,集中式数据存储对这种需求和响应能力的应用程序来说还是存在问 题. IBM WebSphere eXtreme Scale 为高容量和高 SLA(服务级别协议)应用程序提供 集中式数据访问选择.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 Portal高级缓存内容转移数据网格中的性能收益

WebSphere eXtreme Scale 和 XC10 缓存设备提供了 dynacache 实现,它将缓存的内容存储在一个弹性的数据网格中,而不使用默认的 dynacache 实现(后者将缓存的内容存储在 IBM http://www.aliyun.com/zixun/aggregation/13387.html">WebSphere Application Server 堆空间中或磁盘上).本文介绍将 WebSphere Portal 高级缓存内容转移到一个 XC10 缓存设备所托

将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

Lotus Domino与IBM WebSphere集成解决方案: Domino XML

许多组织发现,可以对他们的 Domino Web 应用程序采用的下一合理措施是将其与 IBM WebSphere 软件集成一起.他们这样做有合理的原因.Lotus Domino 的基于文档的架构使它容易创建文档,并在内容创建器与编辑器之间共享文档.它的内置安全性和版本功能适用于管理基于文档的内容. WebSphere 是高性能.企业级事务型应用服务器.它的核心是强大的 J2EE 引擎,该引擎被设计用来获得高可伸缩性和健壮性.WebSphere 还是最新的 Web 技术的熔炉.寻求通过扩展其当前

IBM ESB Backbone一个综合性ESB解决方案

IBM® ESB Backbone (IEB) 是一个企业服务总线 (ESB) 解决方案,通过可靠的消息传递.消息转换和消息审计功能解决了许多日常的复杂性.本文将详细介绍 WebSphere DataPower 设备的一种特定实现和这个解决方案是如何演变的.任何需要忍受通过异构协议执行点对点通信的艰巨任务的架构师.应用程序所有者和分布式应用程序开发人员, 都会喜欢上这个考虑了众多故障点的直观解决方案. IEB 是 IBM Blue Harmony 基础架构的一个不可或缺的部分.Blue Harm

mq-问一个关于 IBM WebSphere MQ的问题,消息错误代码为RC2019

问题描述 问一个关于 IBM WebSphere MQ的问题,消息错误代码为RC2019 我写了一个生产者程序,每隔5s往MQ发100条消息,又写了一个消费者程序,每隔10s从MQ中取消息,再写入文件,生产者MQ主要代码:MQQueue queue = null; int openOptions = MQConstants.MQOO_OUTPUT | MQConstants.MQOO_FAIL_IF_QUIESCING | MQConstants.MQGMO_WAIT; if (qMgr ==

使用IBM WebSphere Cast Iron Web API Services创建一个Web API

利用 IBM WebSphere Cast Iron Web API Services,您只需点击几下就可以组装和显示 API.您还可以通过所提供的分析法来分析您的 Web API 的使用情况,并利用社区挂钩在品牌化的开发人员门户中将 Web API 社区社交化. Web API 是一个快速增长的业务渠道,可帮助您的企业进入新的市场,并吸引新的客户与合作伙伴.它们还可以帮助您从大型开发人员社区中挖掘创新,而不仅仅是在您的公司的开发人员中挖掘创新. 由于 Web API 显示关键的业务资产和服务(

IBM WebSphere Commerce针对移动商店的单元测试解决方案

在讨论移动商店可用的工具之前,我们应该先探讨一下什么是移动商店,它有怎样的重要意义,有哪些常见注意事项.此外,我们还会提到一些常见的错误以及未得到充分理解的一些概念,例如浏览器检测.JSP 选择和设备映射.本文假设大多数用户均无法访问全部可用设备. 您计划使能够通过移动设备访问的任何商店都属于移动商店.在现实中,移动商店包括所有 B2C 电子商务网站.原因在于,在当今的市场中,智能手机和平板电脑迅速普及,无论您是否制定了相应的计划,客户都会通过移动客户端访问您的商店.就此而言,较为明智的做法是至