數據網格平臺 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()可以讓網絡調用繼續進行或是忽略掉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上運行幾百個服務時,實現管理是必須的
本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!