世界顶尖运动队教练的成功秘诀
本文列出了来自于顶级教练Marc Lammers的9条原则,他是在打造世界最佳曲棍球队的过程中发现这些原则的,文章把这些原则映射到了软件开发实践之中。
作者 Jonathan Allen译者 胡键 发布于 2008年6月11日 上午5时8分
在过去几年里,从主流的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
本文由Per Jacobsson所作,目标读者为有意了解Lisp的Java开发人员。文章探讨了当前可以运行于JVM上的不同Lisp方言,以明快简洁的方式介绍了Lisp程序设计工作机理和其独特之处,并在最后演示了Lisp代码同Java系统的整合过程。
本文以一个实际应用的例子为引子,探讨Ruby/Rails在非传统web系统中应用,以及研究如何定制以Rails为基础的领域特定的MVC框架。
本视频对云计算进行了简要的介绍,主要包括了五部分内容:首先带大家认识“云”,然后对计算机的发展过程进行了阐述,接着介绍了业界现状和企业级/世界级计算的新布局,最后对云计算做了一下展望。
在这篇文章中,Bryon Jacob和Chris Berry介绍了AtomServer,一个基于Apache Abdera的完整Atom存储实现。在去年,作者一直致力于为其雇主——Homeaway——实现一个Atom存储,现在已开源了其Atom存储框架:AtomServer。
开发团队的成长离不开优秀的人才,简捷有效的流程和高效率工具这三个卓越工程系统中的重要因素。本文作者从这三个因素分析了微软中国开发团队是如何“从优秀到卓越”的。
本文是Productive Java with Ruby系列文章的第一篇,我将从单元测试这个话题开始,让Java的开发人员能够在实际工作中利用Ruby提高工作效率。
InfoQ中文站有幸与阿里软件的首席架构师赵进在一起探讨了SaaS的相关话题,包括SOA和ASP与SaaS的异同、云计算、SaaS的前景、它的关键技术、技术瓶颈等等。
4 条回复
回复