和Google互补的搜索引擎Wolfram|Alpha
Wolfram|Alpha与Google究竟是什么关系,Wolfram|Alpha自己是如何定位的?Wolfram|Alaph在多大程度上是语义网搜索呢?InfoQ中文站就等等这些问题采访了Wolfram研究公司中国区商务经理王翔。
作者 Sebastien Auvray 译者 Jason Lai 发布于 2007年6月19日 下午7时30分
一直以来,篠原俊一(Shunichi Shinohara)和加藤究(Kiwamu Kato)在致力于将可靠消息传送(Reliable Messaging)引入Ruby。他们以先前设计基于Java的高容量消息传送框架的经验为基础,通过他们自主的API和协议的项目,试图将这个努力变为现实。AP4R这个项目的名称是Asynchronous Processing for Ruby的缩写,意即“Ruby的异步处理”。该项目是一个异步可靠消息处理的实现,提供消息队列和消息分派的功能。篠原和加藤在日本Ruby会议2007(RubyKaigi 2007)上进行了演讲(PDF幻灯片),介绍了他们的API,并强调其核心设计哲学:鲁棒性和轻量级。
这个项目问世仅仅一年,但已经能支持:
- 不管业务逻辑是非同步调用还是同步调用的,都可以以简单的Web应用或者Ruby代码的形式实现;
- RBMS(MySQL)或者基于文件的消息持久化能力;
- 支持在单个或者多个服务器上跨多个AP4R进程的负载平衡;
- 对以下多个协议的支持:XML-RPC、SOAP和HTTP POST等等。
先前,篠原和加藤已经实现过他们自己的基于Java的API和协议(称为RtFA),这项成果被用于一个包含100台服务器的大型应用中,该应用每天处理超过1亿条消息。篠原和加藤声称,他们已经改进了先前在AP4R上的工作,并且也在易用性上花了很大工夫。AP4R所附带的文档非常完整详尽。
要将AP4R整合进Rails,典型流程如下:
- 客户端(如Web浏览器)向Web服务器(Apache和Lighttpd等)发送请求;(
- Rails应用通过mod_proxy或者其它被同步地在mongrel上执行;
- Rails应用通过AP4R的API发送消息,并可以在随后立刻响应给客户端;
- AP4R将消息放入队列,并且异步地将其请求到Web服务器;
- 异步的业务逻辑(以常见的Rails Action的形式实现)被执行。
0.3.x关注的是后台服务化(Daemonization)、URL重写过滤器(URL-rewrite filter)、DLQ / SAF恢复,以及对将Stomp和HTTP作为底层协议的支持。今后的版本将包含对监控和管理的支持(如线程状态和Web前端)、与Cacti和Nagios等的协作、多进程、动态可配置性、自动恢复和阻塞队列等等。
查看英文原文:Reliable Messaging in Ruby with AP4R
Wolfram|Alpha与Google究竟是什么关系,Wolfram|Alpha自己是如何定位的?Wolfram|Alaph在多大程度上是语义网搜索呢?InfoQ中文站就等等这些问题采访了Wolfram研究公司中国区商务经理王翔。
Vijay Narayanan在这篇文章中对数据服务的几个方面进行了介绍,它们都是SOA实践者和数据架构师感兴趣的内容。本文对数据服务的几个方面进行了介绍,包括需求定义,基本原理和好处、范围、开发以及消费模式。
罗马不是一天建成的,豆瓣的技术架构也是随着用户规模的增长一直在持续变化中。在本次演讲中,豆瓣的首席架构师洪强宁将与大家一起分享从上线时的单台服务器架构开始一直到现在的豆瓣架构变迁历程。
Billy McCafferty展示了S#arp架构,它在ASP.NET MVC框架的基础上,荟萃了当今的最佳实践,应用在ASP.NET Web应用程序的架构设计中。
中国作为新兴市场中的新兴市场,是Sun在美国之外实施SSE(SUN Startup Essentials)项目重点关注的地区。在QCon Beijing 2009期间,InfoQ中文站有幸对此项目的负责人王雷先生进行了采访,探讨了关于开源、新兴市场、SSE等话题。
HTML5 是由 WHATWG发起的,最开始的名称叫做Web Application 1.0,而后这个标准吸纳了Web Forms 2.0的标准,并一同被W3C组织所采用,合并成为下一代的HTML5标准。
没有回复
关注此讨论 回复