Infinispan分布式集群緩存系統
In?nispan 是個開源的數據網格平臺。它公開了一個簡單的數據結構(一個Cache)來存儲對象。雖然可以在本地模式下運行In?nspan,但其真正的價值在于分布 式,在這種模式下,In?nispan可以將集群緩存起來并公開大容量的堆內存。這可比簡單的復制強大的多,因為它會為每個結點分配固定數量的副本——服 務器故障的一種恢復手段——同時還提升了可伸縮性,這是由于存儲每個結點所需的工作量是與集群大小息息相關的。
In?nispan提供了一種簡單的機制來利用大容量的堆內存。如果對每個結點維護一個拷貝,假如集群當中有100個結點,每個結點分配2GB的堆內存, 那么網格中的任何實例都能使用多達100GB的空間,這可都是內存,顯然速度會非???。同時In?nispan還兼容于JTA,這樣它就能很好地處理事務 了。我們還有一個超級強大的異步API,它可以保證同步的網絡調用以及異步調用的并行性及可伸縮性。比方說:Future f = cache.putAsync(k, v) 可以阻塞線程,再調用f.get()可以讓網絡調用繼續(xù)進行或是忽略掉f。更為重要的是,線程還可以做別的事情,這一點非常有用。然后再回來通過調用 f.get()來檢查該網絡調用是否能繼續(xù)進行??梢詫⑵淇醋魇荖IO與傳統的阻塞性IO之間的關系。
In?nispan公開了一個CacheStore接口和幾個高性能的實現,包括JDBC CacheStores、基于文件系統的CacheStores以及Amazon S3 CacheStores等等。CacheStores可用作“溫啟動(warm starts)”或是確保網格中的數據在重啟后依然可用,同時在內存耗盡時還能將數據寫到磁盤上。
主要特點:
大量的堆體
極高的可擴展性
快速輕量級核心
不僅僅支持Java(PHP,Python,Ruby,C…)
支持Compute Grids
管理是關鍵:當你在grid上運行幾百個服務時,實現管理是必須的
