數據網格平臺 Infinispan 5.1.0.FINAL 發布
In?nispan 是個開源的數據網格平臺。它公開了一個簡單的數據結構(一個Cache)來存儲對象。雖然可以在本地模式下運行In?nspan,但其真正的價值在于分布 式,在這種模式下,In?nispan可以將集群緩存起來并公開大容量的堆內存。這可比簡單的復制強大的多,因為它會為每個結點分配固定數量的副本——服 務器故障的一種恢復手段——同時還提升了可伸縮性,這是由于存儲每個結點所需的工作量是與集群大小息息相關的。
In?nispan提供了一種簡單的機制來利用大容量的堆內存。如果對每個結點維護一個拷貝,假如集群當中有100個結點,每個結點分配2GB的堆內存, 那么網格中的任何實例都能使用多達100GB的空間,這可都是內存,顯然速度會非常快。同時In?nispan還兼容于JTA,這樣它就能很好地處理事務 了。我們還有一個超級強大的異步API,它可以保證同步的網絡調用以及異步調用的并行性及可伸縮性。比方說:Future f = cache.putAsync(k, v) 可以阻塞線程,再調用f.get()可以讓網絡調用繼續進行或是忽略掉f。更為重要的是,線程還可以做別的事情,這一點非常有用。然后再回來通過調用 f.get()來檢查該網絡調用是否能繼續進行。可以將其看作是NIO與傳統的阻塞性IO之間的關系。
In?nispan公開了一個CacheStore接口和幾個高性能的實現,包括JDBC CacheStores、基于文件系統的CacheStores以及Amazon S3 CacheStores等等。CacheStores可用作“溫啟動(warm starts)”或是確保網格中的數據在重啟后依然可用,同時在內存耗盡時還能將數據寫到磁盤上。
主要特點:
- 大量的堆體
- 極高的可擴展性
- 快速輕量級核心
- 不僅僅支持Java(PHP,Python,Ruby,C…)
- 支持Compute Grids
- 管理是關鍵:當你在grid上運行幾百個服務時,實現管理是必須的
經過超過4個月的開發、測試,Infinispan 5.1.0 正式版終于發布了,包含很多很重要的新特性,例如:
- Optimistic vs pessimistic locking separation, single node locking and lock reordering
- Asymmetric cluster supports
- Fine-grained atomic maps
改進方面:
- Move to Stax XML parser and new programmatic configuration
- Hot Rod protocol 1.1 to provide better support for environments with virtual nodes enabled
- Startup performance
- Push-based state transfer for replicated caches
如果你是 5.0 版本用戶,可參考升級指南。