分布式緩存系統,Infinispan 7.0.3.Final 發布

jopen 9年前發布 | 9K 次閱讀 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上運行幾百個服務時,實現管理是必須的


Infinispan 7.0.3.Final 發布了,這是一個 bug-fix 發行辦吧,主要是提升了穩定性。詳情請看

Release Notes - Infinispan - Version 7.0.3.Final

Bug

  • [ISPN-4444] - After state transfer, a node is able to read keys it no longer owns from its data container
  • [ISPN-4949] - Split brain: inconsistent data after merge
  • [ISPN-4975] - Cross site state transfer - status of push gets stuck at "SENDING" after being cancelled
  • [ISPN-4979] - CacheStatusResponse map uses too much memory
  • [ISPN-4995] - ClusteredGet served for non-member of CH
  • [ISPN-5000] - Cleanup rebalance confirmation collector when node is not coord
  • [ISPN-5008] - 7.0.x missing cachestore-remote and extended-statistics modules
  • [ISPN-5011] - CacheManager not stopping when search factory not initialized
  • [ISPN-5026] - The Infinispan 7.0.2's GUI demo cannot be properly launched in Windows 7
  • [ISPN-5027] - OutOfMemoryError in entry retriever when state transfer chunk size is Integer.MAX_VALUE
  • [ISPN-5029] - Infinispan 7.0.2 not fully backwards compatible with 6.0.x
  • [ISPN-5030] - NPE during node rebalance after a leave
  • [ISPN-5048] - Relocate some imported packages in uberjars and remove any javax.* classes
  • [ISPN-5052] - Lock timeout details prints out null for local locks
  • [ISPN-5053] - Modules inheriting directly from the BOM use Java 1.5
  • [ISPN-5071] - No rebalance enabled and suspended messages logged
  • [ISPN-5088] - Deleted entries from (FineGrained)AtomicMap reappear in subsequent transaction
  • [ISPN-5104] - Infinite loop in TransactionAwareCloseableIterator when iterating through cache...

Component Upgrade

  • [ISPN-5005] - Upgrade to Hibernate HQL Parser 1.1.0.Beta1
  • [ISPN-5006] - Upgrade to Hibernate Search 5.0.0.Beta3
  • [ISPN-5040] - Upgrade to JGroups 3.6.1.Final

Enhancement

  • [ISPN-4989] - infinispan-transport thread name is undefined
  • [ISPN-5032] - Create dedicated GetCacheEntryCommand to simplify code and save memory on GetKeyValueCommand

Feature Request

  • [ISPN-3561] - A joining cache should receive the rebalancedEnabled flag from the coordinator.
  • [ISPN-4948] - Package embedded CLI as uberjar
  • [ISPN-5007] - Enhance the distribution script to detect missing artifacts
  • [ISPN-5017] - Include the CLI uberjar in the distribution zip

Task

  • [ISPN-5018] - Add test for protobuf marshalling of primitives

分布式緩存系統,Infinispan 7.0.3.Final 發布

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!