剖析短迭代
敏捷教练Dave Nicolette提出:我们应该如何设定迭代长度?是要根据发布周期的时间么?使用短迭代又有哪些好处?
作者 Alexander Olaru译者 沙晓兰 发布于 2008年2月1日 上午3时5分
以反向Ajax著称的Comet,主要目标在于通过借助HTTP1.1中持久连接的特性,使得客户端可以即时获知服务器端所发生的状态变化。正如Infoq.com之前提到过的那样,和Comet类似的,还有很多其他所谓的“推送技术(push technologies)”也在试图实现同样的目标。
Greg Wilkins和他在Webtide的团队瞄准了测量Comet的延展性的目标进行了一系列的测试(Webtide是由开源项目Jetty web服务器的主要技术开发员组成的一家公司)。根据测试结果,他们发表了在测试中的一些发现。更具体地说,这些测试涉及到在Jetty上运行实现了Bayeux协议的Dojo Cometd应用。除了在服务器上运行Cometd以外,他们在客户端机器(1-3台之间)同样也运行Cometd,从而服务器和客户端共同生成相当于两万个用户的负载。同时,服务器和客户端机器都采用Amazon EC2虚拟服务器的大实例(Large Instances)。测试结果的以图表的形式总结如下:

以下是从这些测试中得到的值得强调的几个要点:
正如在评论以及Greg之前的一篇文章中提到的那样,Jetty能够异步将消息推向客户端,因而面对同样数目的客户所需资源要少的多。在这些测试中所应用到的对线程池的修改代码现在可以下载,并且Greg告诉Infoq说这些修改代码将囊括在Jetty下一个发布版本中。他也补充提到Webtide正在通过负载均衡调度器来运行类似的测试,不久将会发布更多的测试结果。
另外一个能够突出Comet延展性的很有意思的方法是Lightstreamer所采用的方法。它的实现是基于一个不依赖于底层应用或web服务器的独立服务器。一些web/应用程序服务器,扩展以后像流引擎(streaming engine)那样工作,这些服务器基于的是"一线程一连接模式(one-thread-per-connection model)"。相对来说,Lightstreamer将服务器可以维持的连接数与服务器所能使用的连接数进行解耦,因而可以扩展面向非常大数量的用户。
在和Infoq的对话中,Alessandro Alinone —— Lightstreamer的CTO表示,他们在金融领域已经有客户了,在产品中实现了“平均有10000个并发用户以及平均每个用户每秒钟3-5个更新的频率。”他补充说“Lightstreamer通过一个OEM协定在TIBCO Ajax消息服务中作为核心引擎使用。因此,TIBCO前端的一些很有意思的产品方案正在急剧增长中。”
除了服务器之外,Lightstreamer的后端构架包括:
在客户端,浏览器像通常一样从web服务器得到静态网页,但是它可以收到从Lightstreamer服务器推向它的即时更新。这些更些的消费者可能是一套和大多数浏览器兼容并且和大部分第三方AJAX框架和工具箱共存或集成的Lightstreamer JavaScript库。即时更新也可以通过Lightstreamer推向Flash/Flex应用程序,也可以推向使用Java或.NET开发的桌面应用程序。
查看原文:Comet: Sub-Second Latency with 10K+ Concurrent Users
本文主要讲述了如何用JBoss Portlet Container 和JBoss Portlet Bridge创建新项目,怎样配置一个JSF应用去使用JBoss Portlet Bridge,以及JBoss Portlet Bridge所具备的功能。
在这篇文章里,Bryon Jacob和Chris Berry将和我们继续探讨AtomServer,它是基于Apache Abdera的完整Atom存储实现。作者还创建了几个Atompub规范扩展,其中包括自动标记、批处理和Feeds聚合。
InfoQ中文站的电子杂志《架构师》试刊第二期出版了!相比于上期,我们在内容的选择安排和版式上都根据读者的意见重新做了修正。“细节决定成败”,我们希望基于InfoQ中文站的专业内容,《架构师》能逐渐成为大家喜欢的电子刊物!
在本文中,Steven Haines探讨了Web应用性能调优问题。该领域过去更像是一门艺术而不是一门科学。他提出了一种称为基于等待调优的方法,使整个调优过程更加可度量,也因此更具科学性。
通常来说,改变技术路线时最艰难的部分是辨别语言语法之间的不同。这篇文章就为Java开发者提供了一份如何转向Flex基础语言ActionScript的指南。
本视频主要以财帮子为例,介绍了如何创建一个PV为百万级的Rails应用。其中包括:Rails应用的服务器架构、Rails Cache的优化、负载均衡的处理、Web服务器的调试、分布式解决方案、Open API的设计等等。
InfoQ首席架构师Alexandru Popescu在采访中谈论了InfoQ架构、Webwork与DWR、Hibernate与JCR、Hibernate可扩展性、最新的InfoQ视频流系统和InfoQ的未来规划。
没有回复
回复