NCache的基礎版本已實現開源
原文 http://www.infoq.com/cn/news/2015/03/NCache
Alachisoft最近為他們公司旗下的產品NCache推出了一個對功能進行大量削減的版本,以Apache 2的授權方式進行開源。這一開源版本僅支持.NET客戶端,而完整的版本還同時支持Java。
NCache企業版的特性列表絕對配得上你對一個在業界處于領先地位的緩存提供器的各種期望。但一旦當你開始使用開源版本之后,很快就會遇到各種令人無法忽視的陷阱,令人對該產品的實用性產生質疑。
在開源版本中,依然能夠對緩存進行分布或是分塊,但對于分布和分塊的鏡像、橋接和組合功能依然只限于企業版本。
對于ASP.NET應用程序來說,開源版本支持會話和視圖狀態的緩存,但對輸出緩存的支持仍然只限于企業版本。(正如之前所說的一樣,對于Java的任何緩存支持,包括對web會話的緩存也是僅限于企業版)。
同樣,緩存依賴也只在企業版本中才支持。這種特性允許對某些內容的改動進行監控,例如文件系統和數據庫表,在改動發生后自動使緩存失效。 NCache在開源版本中去除這一特性的做法讓人有些摸不著頭腦,畢竟使這一特性生效的組件本身就是.NET 2.0中內置的緩存類庫中的一部分。
另一個奇怪的做法是NCache決定只在企業版本中支持異步操作,通常來說,現如今只有那些不再進行維護的遺留類庫才不提供異步操作的特性。
對于開源版本的NCache中的緩存收回(eviction)策略,很難找到一個很好的詞匯進行形容,只能說是相當詭異。它只支持基于優先級的收回策略,而一些標準的策略,例如最近最少使用,以及使用頻度最低等等,實現的難度基本上相當于大學生的回家作業而已,但它們也只能在企業版中支持。而 “不要進行收回”這一選項也只屬于企業版本,這在某些場景中,例如保存會話狀態時也可能會產生問題。
NCache的管理工具與監控工具同樣只支持專業版和企業版,對于此類產品來說也算是傳統的做法。
通過進一步嘗試,我們還發現各種類型的認證和授權功能只屬于企業版。對于任何一個稍具安全意識的公司來說,這一點讓這個開源版本的產品無法成為他們的選擇。
結論。如果你有興趣觀察一下一個分布式緩存是如何實現的,那么這個 開源版本的NCache 還是有研究價值的。但如果打算在生產環境中使用的話,還是應該選擇 NCache的企業版 ,或是另外一種競爭產品,例如 Memcached 。
查看英文原文: Basic NCache is Now Open Source