今天早上看LiveSino的RSS时发现了这条隐藏在"
TechEd 2008 Developers: 新闻汇总"的消息. 微软总算是推出了他们的分布式缓存(
Distributed In-Memory Cache).
现在asp.net中的cache是在本机的, 如果web farm中的每台机器都要维护自己的cache, 最常用的cacheitem在每台server上都有一个copy.这样不仅浪费内存, 而且存在可能存在不同步的问题;Distributed cache解决了这个问题. 除了大型的企业应用, 在web2.0网站中Distributed cache也被广泛应用,以解决伸缩性问题. 如著名的开源软件Memcached被很多大的网站象WikiPedia , SlashDot用到;关于Distributed cache,可以google一下Memcached, 能找到很多介绍.
微软推出了Velocity(code name), 目前还是CTP1, 我google了一下, 资料也很少, 主要是这两个:
Velocity Team Blog: http://blogs.msdn.com/velocity/
.net Developers Journal: http://dotnetaddict.dotnetdevelopersjournal.com/velocity_introduction.htm
主要情况总结如下:
- 会作为Windows Service运行. 可以集群, 运行在几台Cache Server在
- 通讯走TCP
- 调用Add, Put, Get方法读/写缓存, 你可以缓存任何可以序列化的.net对象
- 除了Key-Based fetching以外, 一个很酷的功能是可以使用tag 提取缓存对象集.
- 据Team Blog所说, Velocity的目标不仅仅是为了asp.net开发, 甚至不仅仅是.net应用, 比如说非.net的IIS应用, windows Service等
- 一个目前还没有但被广泛要求的功能是Push(notification, 消息通知), Cached Item被修改了之后, 通知使用它的代码. Velocity Team说这是他们下一步要关注的(Push-based notifications is a request we’ve heard from many folks. This is certainly an area we’re looking very deeply into.)
- 目前是单独的产品, 据说是免费, 未来估计会集成到.net framework里面去