数据网格平台 Infinispan 5.1.0.FINAL 发布
fmms 13年前
<div id="p_fullcontent" class="detail"> <p><a href="/misc/goto?guid=4958183481587207384" target="_blank">Infinispan </a>是个开源的数据网格平台。它公开了一个简单的数据结构(一个Cache)来存储对象。虽然可以在本地模式下运行Infinspan,但其真正的价值在于分布 式,在这种模式下,Infinispan可以将集群缓存起来并公开大容量的堆内存。这可比简单的复制强大的多,因为它会为每个结点分配固定数量的副本——服 务器故障的一种恢复手段——同时还提升了可伸缩性,这是由于存储每个结点所需的工作量是与集群大小息息相关的。</p> <p>Infinispan提供了一种简单的机制来利用大容量的堆内存。如果对每个结点维护一个拷贝,假如集群当中有100个结点,每个结点分配2GB的堆内存, 那么网格中的任何实例都能使用多达100GB的空间,这可都是内存,显然速度会非常快。同时Infinispan还兼容于JTA,这样它就能很好地处理事务 了。我们还有一个超级强大的异步API,它可以保证同步的网络调用以及异步调用的并行性及可伸缩性。比方说:Future f = cache.putAsync(k, v) 可以阻塞线程,再调用f.get()可以让网络调用继续进行或是忽略掉f。更为重要的是,线程还可以做别的事情,这一点非常有用。然后再回来通过调用 f.get()来检查该网络调用是否能继续进行。可以将其看作是NIO与传统的阻塞性IO之间的关系。</p> <p>Infinispan公开了一个CacheStore接口和几个高性能的实现,包括JDBC CacheStores、基于文件系统的CacheStores以及Amazon S3 CacheStores等等。CacheStores可用作“温启动(warm starts)”或是确保网格中的数据在重启后依然可用,同时在内存耗尽时还能将数据写到磁盘上。</p> <p>主要特点:</p> <ul> <li>大量的堆体</li> <li>极高的可扩展性</li> <li>快速轻量级核心</li> <li>不仅仅支持Java(PHP,Python,Ruby,C…)</li> <li>支持Compute Grids</li> <li>管理是关键:当你在grid上运行几百个服务时,实现管理是必须的</li> </ul> </div> <p style="font-weight:bold;">经过超过4个月的开发、测试,Infinispan 5.1.0 正式版终于发布了,包含很多很重要的新特性,例如:</p> <ul style="text-align:left;"> <li><a href="/misc/goto?guid=4958326666770268136">O</a><a href="/misc/goto?guid=4958326666770268136">ptimistic vs pessimistic locking separation</a>, <a href="/misc/goto?guid=4958326668319819141">single node locking</a> and <a href="/misc/goto?guid=4958326669110858573">lock reordering</a></li> <li><a href="/misc/goto?guid=4958326669913681080"><span style="color:black;">A</span></a><a href="/misc/goto?guid=4958326669913681080">symmetric cluster supports</a></li> <li><a href="/misc/goto?guid=4958326671469146270">Fine-grained atomic maps</a></li> </ul> <p>改进方面:</p> <ul style="text-align:left;"> <li><a href="/misc/goto?guid=4958326672277110102">Move to Stax XML parser and new programmatic configuration</a></li> <li><a href="/misc/goto?guid=4958326671469146270">Hot Rod protocol 1.1 to provide better support for environments with virtual nodes enabled</a></li> <li><a href="/misc/goto?guid=4958326673809408130">Startup performance</a></li> <li><a href="/misc/goto?guid=4958326674612284856">Push-based state transfer for replicated caches</a></li> </ul> <p>如果你是 5.0 版本用户,可参考<a href="/misc/goto?guid=4958326675413499959" target="_blank">升级指南</a>。</p>