BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

GigaSpaces XAP 7.1 EA版:弹性中间件、数据查询和Spring 3.x

| 作者 Gilad Manor 关注 0 他的粉丝 ,译者 崔康 关注 0 他的粉丝 发布于 2010年4月3日. 估计阅读时间: 7 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

GigaSpaces XAP是一款包含内存数据网格的分布式应用服务器。GigaSpaces起初是作为一种商业分布式JavaSpaces实现,随后扩展增加了内存数据网格功能,如本地缓存、回收和查询支持。后来进一步发展,GigaSpaces引入了基于Space的架构作为针对企业应用在扩展性和低延迟方面的广泛解决方案。基于space架构的核心在于扩展的轻量级Spring容器,包含了中间件功能,如数据存储和消息机制。该容器被复制到网格中的其他机器上,实现线性扩展。在最近几个版本中,产品专注于用户体验的便捷性和分布式应用的管理。

XAP 7.1版包括了大量新功能:

弹性中间件服务

新的弹性中间件服务兼容Amazon EC2,旨在简化部署和使用。该功能的首个里程碑版本包含了弹性数据网格功能。

陈旧、底层的配置(如域名绑定、IP地址和数据网格划分等等)被高层次的细节和数据网格的初始、最大容量所替代。 凭借新的弹性中间件服务,系统能够识别可用的硬件资源或者提供所需的资源(虚拟环境下)并通过预先设定的配置启动数据网格。API类似于如下内容:

elasticServiceManager.deploy(new ElasticDataGridDeployment("mygrid")
                                        .isolationLevel(IsolationLevel.DEDICATED)
                                        .highlyAvailable(true)
                                        .elasticity("2GB", "6GB")
                                        .jvmSize("512MB")
                                        .addSla(new MemorySla(70)));

自动化配置使扩展和容错对客户透明。这通过节点之间的负载均衡实现,系统在可用的机器上恢复失败的数据网格分区,当内存阈值超出时在部署的机器之间移动数据。

虚拟化兼容

新版本经过测试与若干虚拟化平台如VMWareGoGrid 和RackSpace兼容。不久的将来,它还会添加TerremarkCitrix Xen集成。

数据查询

数据网格查询功能得到了改进,目前支持利用路径表达式通过关联对象字段查询数据:

SQLQuery query = new SQLQuery(Person.class, "address.street.number = 1");

空间查询的索引利用一组新的注解通过父类控制:

@SpaceClass
public class Person
{
    private String lastName;
    private String firstName;
    private Integer age;

    ...
    @SpaceIndex(type=IndexType.BASIC)
    public String getFirstName() {return firstName;}
    public void setFirstName(String firstName) {this.firstName = firstName;}

    @SpaceIndex(type=IndexType.BASIC)
    public String getLastName() {return lastName;}
    public void setLastName(String name) {this.lastName = name;}

    @SpaceIndex(type=IndexType.EXTENDED)
    public String getAge() {return age;}
    public void setAge(String age) {this.age = age;}
}

管理应用

该版本引入了管理工具的新web界面,一个基于GWT/AJAX的控制板,实时汇总整个集群的视图和运行组件,同时提供图形和表格两种显示方式(图1)。现有的管理GUI(之前的7.0版引入)增加了线程快照和跟踪所有注册JVM的汇总日志。线程dump功能也可以通过API调用。

 图 1:web管理控制板

嵌入Spring 3.0

XAP 7.1服务器现在嵌入了Spring 3.0,向后兼容早期的Spring 2.5。但是建议在部署应用之前,采用Spring 3.0重新编译应用。

性能改进

本版的一些性能改进:

  •  并发索引扫描被重写以尽可能达到无竞争的状态。
  •  支持多线程、SQL查询的并发处理以应对复杂查询。
  •  通过修改数据结构和同步机制(如java.util.concurrent包)改进了事务处理时间。

向外扩展的步骤

为了在现有的应用上使用XAP 7.1框架,需要针对应用处理的问题领域采取渐进的步骤。如下:

  • Web层:使用XAP部署标准WAR文件,以实现动态负载均衡。
  • 消息/事件:使用XAP事件监听器替代现有的消息驱动Bean,以实现消息机制。
  • 远程化:通过添加POJO的注解或者使用Spring XML配置来与远程调用和异步远程化集成。
  • 数据存取(初级):集成GigaSpaces XAP的初级应用是将其作为Hibernate的二级缓存。针对密集读操作的场景显著地提高性能。
  • 数据存取(高级):通过划分数据模型结构和把DAO转换成直接访问XAP内存数据网格,改进读写性能。
  • 事务:无需修改基于Spring的应用。对于其他应用来说,建议使用Spring事务框架。

更多信息,请访问XAP 7.1 EA版的相关文档和下载

查看英文原文:GigaSpaces XAP 7.1 EA: Elastic Middleware, Data Querying and Spring 3.x

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT