BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

NCache的基础版本已实现开源

| 作者 Jonathan Allen 关注 608 他的粉丝 ,译者 邵思华 关注 3 他的粉丝 发布于 2015年3月25日. 估计阅读时间: 2 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT