BT

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

Velocity:微软的分布式内存缓存

| 作者 Jonathan Allen 关注 593 他的粉丝 ,译者 胡键 关注 0 他的粉丝 发布于 2008年6月12日. 估计阅读时间: 4 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。
在过去几年里,从主流的Java应用到象Erlang这样的边缘语言,分布式内存缓存的应用相当流行。为了继续疯狂赶超开源世界中处于支配地位的技术,微软也引入了它的分布式缓存。

Velocity是专门针对.NET平台设计的分布式缓存。那些熟悉其他分布式内存缓存的人们会在其中发现许多相似的特性。它目前作为社区技术预览对外提供下载

Velocity的客户端有两类。简单客户端只知晓一个单缓存服务器。如果在那个服务器上没有找到被请求的对象,那么缓存服务器会从合适的服务器上将它取来。路由客户端(Routing client)则对其了解更深一些。它们总是知道在哪里可以找到哪个特殊的对象,因此它可以直接查询缓存服务器。关于发送所有缓存位置数据给路由客户端(Routing client)对性能造成的影响,尚未有所定论。除了缓存服务器,两类客户端都支持一个本地缓存选项。对于过期数据,该选项仍然要求去检查服务器。但是在处理大量缓存对象时,它应该能减少网络流量。

关于并发性有两个选项。使用乐观并发,只有第一次更新才能成功,任何后续对现有过期对象的更新都将失败。使用悲观锁,一个锁句柄将会被返回。在锁释放或超时之前,任何获得锁的尝试都将失败。获得锁失败操作是一个非阻塞操作。

通过设置过期日期或每当内存压力过大时,对象可以从缓存中显式被移除。后一种方法,被称为驱逐(eviction),使用最近最少使用的算法来处理。

除了一个关键字,对象还可能有一组与之关联的标签。Velocity提供了检索一个或全部与一个标签列表相匹配的对象的方法。

尽管支持ASP.NET的会话模型,但是那只是微软众多设想中的一个。S Muralidhar写道:

我们对ASP.NET的支持只是整个.NET平台蓝图中的一部分。剩下的是确保我们不只把焦点单单放在ASP.NET应用上。作为例子,我们计划与普通.NET应用(如Windows服务)或那些不涉及ASP.NET的IIS应用集成。
现在让我们看看即将到来的功能。目前的CTP版特性支持向外扩展(scale-out)、本地缓存,以及ASP.Net SessionState与许多其他应用的集成。我们有大量的工作项,它们有望在随后的CTP和RTM版中实现,包括:支持可用性、缓存复制、通知和更好地管理支持等。
我们已经从很多开发者那里听到对于推式通知(Push-based notification)的需求。这当然是我们非常关心的领域。尽管目前的CTP版还不支持它,但是这个需求有望在我们即将发布的版本中得到满足。在目前这个过渡时期,如果你使用Velocity的本地缓存,我们提供了一些绕过它的API(如GetIfVersionMismatch())来处理本地缓存中潜在的陈旧/过期对象。(你需要使用Get()和GetIfVersionMismatch()方法组合来得到正确的行为。)

对更高级技术的支持亦在计划中。Anil Nori补充道:

由于应用开始将缓存用于数据访问,我也相信,他们会要求更丰富的数据服务,如查询、事务、分析、同步等。例如,我相信.NET有可能会要求在分布式缓存上使用LINQ查询,就像它们查询后端SQL Server数据库一样。我们预计“Velocity”会成为一个全面的分布式缓存平台。
查看英文原文Velocity: Microsoft's Distributed In-Memory Cache

评价本文

专业度
风格

您好,朋友!

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

获得来自InfoQ的更多体验。

告诉我们您的想法

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

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

微软的触角无所不在 by 肖 肖

RT,虽然俺不是很明白。

持续关注中.... by Lee Lawrence

期待实现对普通CS应用程序的支持

Re: 持续关注中.... by wang yi

asp.net都支持,不可能不支持CS程序........

非常好 by 王 辉

最近做网游后台,发现了内存分布式的巨大威力(可惜初期架构问题,还没有在正式项目中启用)

允许的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通知我

4 讨论

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


找回密码....

Follow

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

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

Like

内容自由定制

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

Notifications

获取更新

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

BT